·

计算机内实际上没有减法操作,只能根据加法操作实现减法。根据两个互为相反数的数相加为0的性质,当某个数加上它的反码,能够将所有位数置为1,此时再加上1,即可向前进位,舍掉进位的位数,剩余位数全部为0,因此得到了值为0的数。显然取反再加1这个数即为该数的相反数,称为补码。这就是补码的设计思想(我所理解的)。

举个例子: 设某个数的原码为1010101,

              其反码为0101010,相加得到1111111,

              此时再加上1,即可向前进位,

              假如前一位的位数是0,进位后得到 10000000,

              舍弃其进位的位数,得到0000000,即为0

              由此可见,某个数通过取反再加1可以得到某个数的相反数,即为补码。
Replies
6

你知道机械计算机吗,有木有想过补码其实是自然现象

111 + 1 = (1)000

什么数加一等于 0 ? 所以 111 = -1, 那 -2 呢