首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java面试 >

java 中 9>>二 =1

2012-09-03 
java 中 92 1位移运算中9 2 11001右移2位为 0001这个不明了(看教科书半天,也看不出个所以然,可能

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

[解决办法]

热点排行