负数有符号右移
:a = -8 >> 2
-8 的二进制原码 :1000 1000
-8 的二进制反码 :1111 0111
-8 的二进制补码 :1111 1000
右移两位后的补码 :1111 1110
反码:1111 1101
原码:1000 0010
结果:a = -2
>>>表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0
负数无符号右移
:a = -8 >>> 2
-8 的二进制原码 :10000000 00000000 00000000 00001000
-8 的二进制反码 :11111111 11111111 11111111 11110111
-8 的二进制补码 :11111111 11111111 11111111 11111000
右移两位后的补码 :00111111 11111111 11111111 11111110
结果:a = 2^(30)-2
暑期编程PK赛 得CSDN机械键盘等精美礼品!



