在计算机中,有符号数的最高位表示符号位。如果最高位为1则表示这是一个负数。
负数在计算机中是以补码的形式保存的。
负数的补码生成:负数的绝对值的原码取反后加1。
比如: EF 表示的是-17
分析过程:
1)EF的二进制表示为 1110 1111。由于它的最高位为1,所以是一个负数。
2)去掉符号位后 110 1111就是它的绝对值的补码。
3)根据补码的表示法:取反 + 1,来按逆序推导它的原码如下:
3.1)先-1后为:110 1110
3.2)再取反后为:001 0001
故001 0001 就是该负数的绝对值17 ,从而该负数为-17。
1 110 1111
110 1111
-1
----------------
110 1110
取反
----------------
001 0001