因为整形是32位有符号补码整数表示的。因此将整形转换为二进制后为:
a
十进制 0
二进制 0000 0000 0000 0000 0000 0000 0000 0000
~a的二进制 1111 1111 1111 1111 1111 1111 1111 1111 (补码)
~a转换为原码
第一步:减1
1111 1111 1111 1111 1111 1111 1111 1110
第二步: 取反(符号位不变)
1000 0000 0000 0000 0000 0000 0000 0001 (原码 即值为1) |
|