-128与-0

计算机存储数据是以补码形式存储。

如图

二进制中有符号数 如8位2进制256个数

从+127(即0111 1111原码)(0111 1111反码)(0111 1111补码)   此处如果继续数值+1会变成1000 0000即-128

到+1  (即0000 0001原码)(0000 0001反码)(0000 0001补码)  数值-1   

到+0  (即0000 0000原码)(0000 0000反码)(0000 0000补码)  数值-1   

到-1   (即1000 0001原码)(1111 1110反码)(1111 1111补码)  数值-1  

到-2   (即1000 0010原码)(1111 1101反码)(1111 1110补码)  数值-1

到-127 (即1111 1111原码)(1000 0000反码)(1000 0001补码)  数值-1

到-128 (即 无法表示了原码)(  无法表示   反码)(1000 0000补码)  此处如果继续数值-1会变成0111 1111即+127

补码的使用从而解决了+0 -0的无意义重复问题。(原本原码1000 0000是-0,1000 0001是-1。。。1111 1111是-127,补码的使用令1000 0000由-0指定为-128)

这一指定是一位印度人指定的,好厉害。。。。

好记性不如烂笔头
原文地址:https://www.cnblogs.com/pokerface/p/5104697.html