计算机中的数是用补码表示的,正数的补码就是它本身。人脑是好理解的。而负数的补码是这个数取反+1,最后最高位为1,这又是为什么呢?
简单的说,计算机只会做加法运算。
那减法运算怎么办呢?加上这个数的负数。这就是反码的由来。
使用反码还是有问题啊。那0岂不是有两种表示方式了吗?这也好解决,负数再减1。于是,补码就出现了。这个做法,还出现了一个额外的收益,就是可以多表示1个负数。如byte类型的范围是【-128,127】
https://www.cnblogs.com/baiqiantao/p/7442907.html