1000 0000表示-128是人为规定的。资源
由于8位2进制中,存在 “-0”(1000 0000)和"0"(0000 0000),虽然“-0”也是“0”,但根据正、反、补码体系,“-0”的补码和“+0”是不一样的,这样就出现两个补码表明一个数值的状况。为了将补码与数字一一对应,因此人为规定“0”一概用“+0”表明。同时为了充分利用资源,就将原来本应该表示“-0”的补码规定为表明-128。二进制
求负数的补码的方法是:将该数的绝对值的二进制形式,按位取反再+1.方法
|-128|=128; (128)十进制=(10000000)二进制; 取反:01111111 +1:10000000 就获得结果了数字
不少人并不理解补码。补码就是同余啊。1000000是正128你知道吧,正负128模256是同余的。加减乘能够直接算也是同余的定理决定的,而不是凑出来的巧合。