计算机为了表示一个负数,会把最高位(左侧)的0/1,当成符号看。0是正数,1是负数
0 0000000/0 1111111 --> +0 -> +127
1 0000000/1 1111111 --> -0 -> -127
这样的话,1字节表示的范围应该是-127 -> +127
但是,这样就会产生-0, +0
重复的情况,浪费了存储空间
因此,计算机中的负数,不是按照 “符号位后面的数值(即绝对值位)直接乘以 -1 得到的”
,而是用补码规则换算得到的
公式(便于记忆):负数 = 绝对值位 - 128
1111 1111 --> -1
1000 0000 --> -128
因此最终结果: -128 --> 127