运算符>>和>>>的区别

  • Post author:
  • Post category:其他




>> 和 >>> 的区别只有一个, 就是它们的作用不同 :


>> 表示 右移


如果该数为正数, 则最高位补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 版权协议,转载请附上原文出处链接和本声明。