我在Gitee上上传了其他一些题目的答案: Gitee项目地址参考下面的博客
《Java语言程序设计》(第10版)Y.Daniel Liang 课后编程参考答案
——————————————————————————————
exc5_44
*5.44(计算机体系结构:比特级的操作)一个short型值用16位比特存储。编写程序,提示用户输入一个short型的整数,然后显示这个整数的16比特形式。
下面是一个运行示例:
Enter an integer: 5
The bits are 0000000000000101
Enter an integer: -5
The bits are 1111111111111011
16进制的补码能表示的范围:[-2^15 ,+2^15-1]
使用位运算求解此问题
package chapter5;
import java.util.Scanner;
/****************************************************************
* Author:icynlau
* Description: 比特级操作
* 补码转换规则:
* 16进制的补码能表示的范围:[-2^15,2^15-1]
*
//从1000 0000 0000 0000:-2^15=-32768
//到0000 0000 0000 0000:0
//到0111 1111 1111 1111:2^15-1=32767
* Date:2021/4/4
* ***************************************************************
*/
public class exc5_44 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("Enter a short integer: ");
short number=input.nextShort();
System.out.print("The bits are ");
for(int i=15;i>=0;i--) {
//检测第i位的值
int tmp=number>>i;
// int bit=tmp&1;
System.out.print(tmp&1);
}
}
}