有两个二进制数 1011001 以及 0000111
如果计算 1011001 - 0000111
一种方法是直接减,就像十进制减法一样,结果是 1010010
另一种方法是,先将两个二进制数做成补码形式,相当于一个正数加上一个负数,对于正数,在最高位加上一个0,正数的补码还是它本身
对于负数,现在最高位上加上一个1,对于负数的补码,每一位要取反,
注意,此时要在最低位加上一个1
那么两个数变成 01011001 以及11111001 那么相加的结果为 101010 010
注意:此时要把进的一位去掉,变成 01010010, 这个 结果与上面是相同的 ,这是针对的两个数相减之后得出正数,如果是两数相减得出负数的情况呢?在这种情况之下,按照补码的方法得到的结果并不会进位,所以直接保留结果就可以了。