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、无符号右移,忽略符号位,空位都以0补齐。
value >>>a,a是要移位值value 移动的位数。
无符号右移的规则只记住一点:忽略了符号位扩展,0补最高位 无符号右移运算符>>> 只是对32位和64位的值有意义。
2、右移位运算符>>,若操作的值为正,则在高位插入0;若值为负,则在高位插入1。
右移补零操作符>>>,无论正负,都在高位插入0。