首页 热点资讯 义务教育 高等教育 出国留学 考研考公

java移位运算问题:“-1>>1”和“-1>>>1”有何差别?

发布网友 发布时间:2022-04-25 15:42

我来回答

2个回答

热心网友 时间:2023-10-13 22:44

>>这个是带符号右移。。。。
>>> 这个是无符号右移。。。。

-1的二进制反码表示为 11111111 11111111 11111111 11111111

-1>>1的结果是 : 1111111 1111111 11111111 1111111
-1>>>1的结果是: 01111111 11111111 1111111 11111111

无符号右移后前面补0,而带符号右移是补符号位,也就 是第一位,负数补1,正数补0

希望对你有帮助。。。。仍有问题可以HI我。。。

热心网友 时间:2023-10-13 22:45

>>运算规则:按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1.
>>>运算规则:按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同。

参考资料:http://blog.csdn.net/sxpujs/archive/2009/03/19/4005654.aspx

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com