例如15,二进制为00001111(以八位为例)
那么-15怎么表示呢?
首先,二进制中第一位是符号位。(正数位0,负数为1)
所以-15的原码为10001111
反码就是把原码中除符号位之外,全部取反。即为11110000
补码就是把反码加1,即为11110001
之所以要把负数经过原码、反码、补码这一系列变换是因为计算机只能计算加法。
例如15-15,就相当于15+(-15)。
通过上面得到的结果计算15+(-15):
00001111+11110000=100000000;取后八位00000000,即为0。
同理16位,32位,64位,也是一样,但需要注意都是最开始一位是符号位。