>>和>>>的区别

文章目录

  • >>和>>>的区别
        • 1、>>:右移运算符,num >> 1,相当于num除以2。
        • 2、>>>:二进制右移补零操作符。


>>和>>>的区别

1、>>:右移运算符,num >> 1,相当于num除以2。

按二进制形式把所有的数字向右移动对应位数,低位移出并舍弃,高位的空位补符号位,即正数补零,负数补1,符号位不变

  • -1在32位二进制中表示为:11111111 11111111 11111111 11111111,-1>>1:按位右移,符号位不变,仍旧得到11111111 11111111 11111111 11111111,因此值仍为-1

2、>>>:二进制右移补零操作符。

左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充,如value >>> num中,num指定要移位值value 移动的位数

  • -1在32位二进制中表示为:11111111 11111111 11111111 11111111,-1>>>1:按位右移,空位用0补充,得到01111111 11111111 11111111 11111111,因此值为2147483647

你可能感兴趣的:(>>和>>>的区别)