-1 的补码全是 1;1111 1111;
计算机的二进制系统如何表示0,以有符号位(signed)的 8 位二进制表示:
0000,0000⇒+01000,0000⇒−0
计算机不会凭白浪费掉这样的一个扩大自己表示能力的机会的,将 −0=1000,0000B 指定为 −128,所以一个有符号位的8位二进制的值域为:−128−127,在一般意义上的
1111,11110111,1111
// C
short a = 128;
// 00000000, 10000000
char b = a;
printf("%d\n", b);
// -128