猿问
下载APP

设int a=-2,则表达式a>>>3的值为

qq_孤止辞_hmJMUZ
浏览 726回答 1
1回答

明明如月

其实这个问题的关键是[二进制]和[操作符 >>> ] 的含义。十进制如何转二进制可以自己百度学习。Java中打印二进制可以使用int i = -2; System.out.println(Integer.toBinaryString(i));而Java中整数4个字节,一个字节8位,即32位。二进制中最高位是符号位, 1 代表负数,0 代表正数。每一位右移会导致左侧位数不够,因此需要填充数据。>> 表示带符号右移,即负数带符号右移前面补1,正数则前面补0。>>> 表示无符号右移,即不管正负数左侧均补零。-2的二进制表示为: 11111111111111111111111111111110-2 无符号 右移3位为 00011111111111111111111111111111(右侧 110 丢了,左侧补三个0)public static void main(String[] args) {     int i = -2;     System.out.println("-2的二进制形式:"+Integer.toBinaryString(i));     int result = i >>> 3;     System.out.println("-2>>>3 的二进制值:"+Integer.toBinaryString(result));     System.out.println("-2>>>3的十进制表示:"+result); }运行结果为:-2的二进制形式:11111111111111111111111111111110-2>>>3 的二进制值:11111111111111111111111111111-2>>>3的十进制表示:536870911最后希望该同学可以动手编码看结果,其次自己了解二进制,了解常见的二进制运算。
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答