读书人

java 中 9gt;gt;二 =1

发布时间: 2012-09-03 09:48:39 作者: rapoo

java 中 9>>2 =1


位移运算中

9 >> 2 = 1 1001右移2位为 0001

这个不明了(看教科书半天,也看不出个所以然,可能是1001 有两个“1”我就不会运算了)

[解决办法]
9 >> 2 = 1 1001右移2位为 0010

应该是 0000 1001 >> 2 = 0000 0010

>>往高位补符号位 0

[解决办法]
这个你看看 二进制数据就知道了
9 1001
右移两位变成10 就是2 再比如 2 10 右移一位 变成1 就是1

你的 9>>2 = 2 而不是 1 啊


你再测试下。

个人博客: http://www.happyalaric.com
[解决办法]
教科书有误
1001 >> 2 = 0010 = 2
右移1位相当于除以2,左移1位相当于乘以2
所以 9 >> 2 相当于 9 / 4 = 2

[解决办法]

读书人网 >Java面试

热点推荐