大多数情况下,计算机使用所谓的2的补码来表示有符号整数.
2的补码方式是可能的值在一个巨大的循环中,从0到MAX_VALUE,到MIN_VALUE,到零,依此类推.
所以最小值是最大值+1 - 01111111 = 127,和10000000 = -128.
这具有与无符号算术完全相同的良好特性 - 如果我想做-2 + 1,我有11111110 + 00000001 = 11111111 = -1,使用与无符号加法相同的硬件.
低端有一个额外值的原因是我们选择将高位设置的所有数字都设为负数,这意味着0取值为正值.