>> 和 >>> 的区别只有一个, 就是它们的作用不同 :
>> 表示 右移
如果该数为正数, 则最高位补0, 若为负数, 则最高位补1
如:int i=15;
i>>2 => 0000 1111(15) >> 2 => 0000 0011 => 结果为3,移出的部分将被抛弃。
0001 1010(26)>> 3 => 0000 0011(3)
>>> 表示 无符号右移
无符号右移, 也叫逻辑右移, 若该数为正数, 则高位补 0, 若该数为负数, 则右移后高位同样补 0。
按二进制形式把所有的数字向右移动对应的位数, 低位移出(舍弃), 高位的空位补零。 对于正数来说和带符号右移相同, 对于负数来说不同. 其他结构和>>相似
版权声明:本文为qq_42319677原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。