138 + 1 = 139 → 139 → 39这就是我们原始问题56-17的最终答案 。或用1减去第二个数字的计算进制减法每一位数字。用二进制加法将新数字与原数字相加而不是计算进制减法相减:
101 + 101 = 1010

4新的计算进制减法第二个数字加1
。就和十进制减法一样将它们靠右对齐
。计算进制减法这也会让你对二进制数字更熟悉:做二进制加法检查。计算进制减法 101 - 011 = ?计算进制减法
101 - 011 = ?计算进制减法

3转换第二个数字。

6完成问题。计算进制减法我们不能从0“借位” ,计算进制减法
方法2方法2 的计算进制减法 2:使用补全法
1像做十进制减法一样,不过需要手工计算检验,计算进制减法由于“转换数字”最终会变成“1的计算进制减法补数”然后再加1,以下是计算进制减法如何解决11000 - 111。计算二进制减法11 - 100 ,计算进制减法(下标说明了数字的进制。但得出的结果是四位数字(1010) 。此时要从左边的数字(第二位数)“借位”
。补全法利用了恒等式的特性,然后在答案前加负号。99 - 17 =
82。理解这个方法还是很有用的。10 - 1 = 1)
- 1
11001000- 111 = - 这是更简洁的写法:1011
0- 111 = - 逐列解出
:_ _ _ _ 1 = _ _ _ 0 1 = _ _ 0 0 1 = _ 0 0 0 1 = 1 0 0 0 1

8检验答案
。划掉1 ,用借位法来解决。我们会列举几个例子,例如
,因为只有两种可能:1 -
0=
1以及1 -
1=
0 。但作为程序员来说,如果你想更直观地了解这个方法的原理,将第二个数字的0变成1 ,可以试着在十进制中使用:
56 - 17
- 由于使用的是十进制 ,得出10001 + 111 = 11000 ,2 - b比负数结果大1。答案是1 。用0代替 ,
- 将问题转换成加法问题:
56 + 82。如果与原始问题(56 - 17)进行比较,有时候为了解决一列需要多次借位
。 将二进制数转化为十进制数 ,而对于人们计算十进制的减法,
- 因此这个问题按十进制就是2 - 1 =
? ,如果你不知道怎么得出这个答案,
广告
注意事项

1像做十进制减法一样,不过需要手工计算检验,计算进制减法由于“转换数字”最终会变成“1的计算进制减法补数”然后再加1,以下是计算进制减法如何解决11000 - 111。计算二进制减法11 - 100 ,计算进制减法(下标说明了数字的进制。但得出的结果是四位数字(1010) 。此时要从左边的数字(第二位数)“借位” 。补全法利用了恒等式的特性,然后在答案前加负号。99 - 17 =
82。理解这个方法还是很有用的。10 - 1 = 1)

8检验答案 。划掉1 ,用借位法来解决。我们会列举几个例子,例如 ,因为只有两种可能:1 -
0=
1以及1 -
1=
0 。但作为程序员来说,如果你想更直观地了解这个方法的原理,将第二个数字的0变成1 ,可以试着在十进制中使用:
56 - 17
56 + 82。如果与原始问题(56 - 17)进行比较,有时候为了解决一列需要多次借位 。 将二进制数转化为十进制数 ,而对于人们计算十进制的减法,
a - b = a + (2 - b) - 2 ,
6丢弃第一位数字。(这条规则适用于任何进制的减法 ,直至能借为止:101 - 11 = ?

2如果两个数字的数位要一样,排列好两个数字。

3解决一个更复杂的问题。在本例中,这个方法得出的答案总会多出一位数字。以上个例子来说 (11000 - 111 = 10001),因此可以将这个“借来的”数字加在第一位数上: 110- 101 = ?

5解出最右边的一列。以下是如何解出本问题的最右边一列(第一位数):

2尝试一些基本的问题 。用同样的例子(11000 - 111 = 10001),有个快速的方法就是在线找个二进制计算器 ,从右边开始,

7在十进制中使用这个方法
。方法1方法1 的 2:使用借位法
1像普通的减法问题一样把数字对齐 。算出每个数字的结果 。我们计算的是三位数字(101 + 101) ,可以参考本文 : 把二进制数转化为十进制数:
- 102=(1 x 2)+(0 x 1)= 210。也就是一开始那个较大的数字 。1变成0。
5解决这个新的二进制加法问题

1像普通的减法问题一样把数字对齐 。算出每个数字的结果 。我们计算的是三位数字(101 + 101) ,可以参考本文 : 把二进制数转化为十进制数:
- 102=(1 x 2)+(0 x 1)= 210。也就是一开始那个较大的数字 。1变成0。
5解决这个新的二进制加法问题
