一个数的负数为这个数的补码加一 (二进制)
如:
00000000 00000000 00000000 00000100 (十进制为4)
补码为:
11111111 11111111 11111111 11111011
加1后:
11111111 11111111 11111111 11111100 (十进制为-4)
计算: -4>>1 结果是多少
11111111 11111111 11111111 11111100 右移1之后:
111111111 11111111 11111111 1111110 (由于要保持它是负数,所以负数的二进制的右边补1)
可以通过刚刚的逆向推算111111111 11111111 11111111 1111110 值为-2