计算机存储机器数是使用补码的形式,8位二进制数共可表示256个数,其中:
0000 0001 ~ 0111 1111一共127个正数
1000 0001 ~ 1111 1111一共127个负数
剩下两个数是0000 0000 和1000 0000,本来分别表示+0和-0,但为了只用一个数来表示0,1000 0000就被规定为表示-128,
原因如下:
(-1) + (-127) = [1000 0001]原 + [1111 1111]原 = [1111 1111]补 + [1000 0001]补 = [1000 0000]补 = (-128)
因此就规定使用1000 000表示-128。
其他16位,32位整数的表示范围原理一致。