WUSTOJ 1201: 位运算之拼整数

题目

原题链接

参考博客

XXXXXyun的博客——输入十六进制数

Description

输入无符号短整数k[hex.]和p[oct.],将k的高字节作为结果的低字节,p的高字节作为结果的高字节组成一个新的整数。

Input

k[hex.]和p[oct.]

Output

操作得到的新的整数n.

Sample Input

0xd9 01117

Sample Output

200

分析

  • 最重要的一点,多组输入,,,题目居然没提醒
  • Java输入8进制数和16进制数

    输入保存到字符串中,用Integer.decode(String)转成整数
  • 处理过程
k=0xd9    p=01117
高字节 低字节
k二进制: 0000 0000 1101 1001
k右移8位: 0000 0000 0000 0000
k的高字节是:0000 0000
p的二进制: 0000 0010 0100 1111
p右移8位: 0000 0000 0000 0010
p在左移8位: 0000 0010 0000 0000
p的高字节是:0000 0010
两个的高字节相加:0000 0010 0000 0000
结果为十六进制的:200

代码

import java.util.Scanner;

public class Main {

	private Scanner sc;
private String sk, sp; // 输入的数字
private int ik, ip; // 转成整数后
private int ans; // 结果 public Main() {
sc = new Scanner(System.in);
while(sc.hasNext()) {
sk = sc.next();
sp = sc.next();
// 转成整数
ik = Integer.decode(sk);
ip = Integer.decode(sp);
ik >>= 8; // 右移去掉k的低8位
ip >>= 8; // 右移去掉p的低8位
ip <<= 8; // 左移8位,p的高字节作为结果的高字节
ans = ik + ip;
// 10进制转成16进制字符串输出
System.out.println(Integer.toHexString(ans));
}
sc.close();
} public static void main(String[] args) {
new Main();
} }

最新文章

  1. SpringMVC的注解开发入门
  2. windows 10卸载自带软件
  3. R中的&lt;-和=赋值符号的细致区别
  4. Webstorm配置CSS/SCSS自动补全兼容前缀autoprefixer插件
  5. Segment Tree Build I &amp; II
  6. mysql row number的实现
  7. [Everyday Mathematics]20150118
  8. 使用Idea编写javaweb以及maven的综合(一)
  9. hadoop2.2编程: 重写comparactor
  10. park、unpark、ord 函数使用方法(转)
  11. DB2数据类型
  12. Oracle之savepoint
  13. Entity Framework 6.x Code First 基础
  14. Servlet过滤器简单探索
  15. 【JVM系列】一步步解析java执行内幕
  16. 小程序生成海报图片(或者原有的)并下载,&amp;&amp;相册授权&amp;&amp;按钮拉起二次授权
  17. [Python学习笔记] 数字类型及操作
  18. sudo配置教程
  19. .net正则表达式实例
  20. JavaScript中call,apply,bind方法的区别

热门文章

  1. webpack-merge
  2. OpenFOAM 中边界条件的设定【转载】
  3. P5663 加工零件
  4. mac下PHP安装mongo扩展
  5. PorterDuffXfermode的模式取值
  6. Java语言发展史
  7. myeclipse打开jsp后卡死的问题详解
  8. java如何获取项目的工作目录
  9. Java环境中,word文档转PDF直接打开浏览而非下载
  10. PHP和MySQL实现的简单Demo