Java中,int为32位
0:00000000000000000000000000000000(正0)
那么负零是什么呢?
100000000000000000000000000000000:Integer.MIN_VALUE
由于Integer.MAX_VALUE是01111111111111111111111111111111,则
不难知道,Integer.MAX_VALUE+1就是Integer.MIN_VALUE,即Integer(int)是个“环”:
Integer.MIN_VALUE每次+1又会向正数方向走。故是一个环。
一个有趣的“现象”:
11111111111111111111111111111111:-1
推导:
1码:00000000000000000000000000000001
补码:11111111111111111111111111111110
反码:11111111111111111111111111111111
故-1的码为:11111111111111111111111111111111
这样符合-1 + 1 = 0,或者0 - 1 = -1的二进制运算规律。