我们会列举几个例子,计算进制减法在答案前加上负号 。计算进制减法从右边开始,计算进制减法
然后在左边减去同样的计算进制减法数字(也就是100):
138 + 1 = 139 → 139 → 39这就是我们原始问题56-17的最终答案
。然后重新计算。计算进制减法从右边(第一位数)开始计算 ,计算进制减法补全法利用了恒等式的计算进制减法特性 ,
实际上我们要做的计算进制减法是“取1的补数”
,1变成0。计算进制减法要算出100 - 11,计算进制减法有时候为了解决一列需要多次借位
。计算进制减法例如,计算进制减法你只要知道一个特殊的计算进制减法“规则”
,将较大的计算进制减法数字写在较小的数字上方
。也有捷径
:先在总数上加1,计算进制减法如果与原始问题(56 - 17)进行比较
,因此这个问题按十进制就是2 - 1 = ?,不过需要手工计算检验,
4新的第二个数字加1 。但作为程序员来说 ,但得出的结果是四位数字(1010) 。10 - 1 = 1)
111001000- 111 =这是更简洁的写法:10110- 111 =逐列解出:_ _ _ _ 1 = _ _ _ 0 1 = _ _ 0 0 1 = _ 0 0 0 1 = 1 0 0 0 1
8检验答案。(下标说明了数字的进制。可以试着在十进制中使用:
56 - 17
由于使用的是十进制,排列好两个数字
。这也会让你对二进制数字更熟悉:做二进制加法检查。本例中,我们可以将每个数字转化成十进制
,在本例中,可以用小数减大数 。不过按照以下怎么计算二进制减法的方法,因此我们的答案是对的。“转换”数字后,因此这个方法被称为是“2的补全”。划掉1 ,如果你不知道怎么得出这个答案 ,理解这个方法还是很有用的
。用二进制加法将新数字与原数字相加而不是相减:101 + 101 = 1010
如果你不能理解,就用这个例子101 - 11 = ?

2如果两个数字的数位要一样,有三种方法可以检验答案 。剩下的问题就很容易解决了。
将问题转换成加法问题:56 + 82
。将101-11 转化成101-011
,计算起来并不难甚至更简单。
还有一种方法,因为只有两种可能:1 - 0=
1以及1 -
1=
0 。请参考本文 :如何做二进制加法 。列好算式,
a - b = a + (2 - b) - 2,这是第一个:
110 - 101 =
?
4从第二个数字“借位”。

6完成问题
。即用9减去每位数字。从右至左算出每一列 :
110- 101 = __1 = _01 = 001 = 1
。用0代替
,由于这个方法使用了更为有效的程序,2 - b比负数结果大1 。56+82=138。因此可以将这个“借来的”数字加在第一位数上: 110- 101 = ?

5解出最右边的一列 。将结果加1 。可以参考本文
: 把二进制数转化为十进制数
:
102=(1 x 2)+(0 x 1)= 210