因为1的
二进制表示是
0000 0000 0000 0000 0000 0000 0000 0001
按位取反之后为
1111 1111 1111 1111 1111 1111 1111 1110
有符号的数最高位为1表示负数
负数的
补码是其原码取反加1
取补码:1000 0000 0000 0000 0000 0000 0000 0010
结果为-2
-2的二进制为2的
反码取补码:
原码:0000 0000 0000 0000 0000 0000 0000 0010
反码:1111 1111 1111 1111 1111 1111 1111 1101
补码:1111 1111 1111 1111 1111 1111 1111 1110
所以 ~1 的运算结果为-2