1201: 位运算之拼整数(Java)
2024-08-28 08:16:14
WUSTOJ 1201: 位运算之拼整数
题目
参考博客
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();
}
}
最新文章
- SpringMVC的注解开发入门
- windows 10卸载自带软件
- R中的<;-和=赋值符号的细致区别
- Webstorm配置CSS/SCSS自动补全兼容前缀autoprefixer插件
- Segment Tree Build I &; II
- mysql row number的实现
- [Everyday Mathematics]20150118
- 使用Idea编写javaweb以及maven的综合(一)
- hadoop2.2编程: 重写comparactor
- park、unpark、ord 函数使用方法(转)
- DB2数据类型
- Oracle之savepoint
- Entity Framework 6.x Code First 基础
- Servlet过滤器简单探索
- 【JVM系列】一步步解析java执行内幕
- 小程序生成海报图片(或者原有的)并下载,&;&;相册授权&;&;按钮拉起二次授权
- [Python学习笔记] 数字类型及操作
- sudo配置教程
- .net正则表达式实例
- JavaScript中call,apply,bind方法的区别