为什么用补码
2023-04-02 10:39 作者:yidadakimasi | 我要投稿
一句话,用补码可以把减法变成加法,这是最重要的一个原因
为什么要把减法变成加法呢?直接用减法不好吗?书上说,用加法的话,电路设计更简单一点,暂且就这么理解吧。
补码是怎么把减法变成加法的?
这是很关键的一个问题。
我先用十进制来说一下这个问题。假设我现在只进行两位数的加减法,产生了进位会被舍弃掉,那么在十进制里面就会有这种效果。
35+65=00,即0,35+65本来等于100,但1是进位,舍弃掉,最后就变成了0。
OK,35+65=0,这里没问题的话,就能得到两个推论。
-35=65 和-65=35
看着上面两个等式,是不是把一个负数变成了正数了。现在就可以称-35的补码是65,-65的补码是35
下面计算1-35
1-35=1+(-35)=1补码+(-35)补码=1+65=66,由于1是补码形式,65也是补码形式,所以最后的结果66也是一个补码的形式。因为-35的补码是65,等式两边同时加1,可得-34的补码是66,意味着-34就是计算结果。