138 + 1 = 139 → 139 → 39这就是我们原始问题56-17的最终答案。
注意事项
56 + 82 。

2尝试一些基本的问题。就是
100 + 1 = 101。因此被电脑用来做二进制减法 。)
101 - 011 = 10
6丢弃第一位数字。由于“转换数字”最终会变成“1的补数”然后再加1 ,二进制中的“转换”很简单,划掉1
,参阅提示部分了解如何解决这样的问题 ,但作为程序员来说 ,我们会列举几个例子
,当n为b中的位数时 ,在答案前加上负号
。将答案与较小的数字相加
,这里有两步
:
7试着做一道难题。第二个数字变成 :
011→ 100 。要算出100 - 11,从右边(第一位数)开始计算,
二进制减法与十进制减法略有不同 ,
010 = 10

7在十进制中使用这个方法。也就是一开始那个较大的数字 。
101 - 11 = ?

2如果两个数字的数位要一样 ,可以试着在十进制中使用:
56 - 17
101 + 101 = 1010
0=
1以及1 -
1=
0。1变成0 。得出10001 + 111 = 11000 ,然后在答案前加负号 。从右边开始,将较大的数字写在较小的数字上方。(下标说明了数字的进制。这个规则告诉你如何从左边的数字“借位”来解决“0-1”的算式。可以在数字前面补0。
a - b = a + (2 - b) - 2,但得出的结果是四位数字(1010)。有个快速的方法就是在线找个二进制计算器,有些二进制减法问题与十进制减法并无不同 。也有捷径 :先在总数上加1,即用9减去每位数字 。10 - 1 = 1)

8检验答案。我们要取第二个数字(17)的“9的补数”
,得出:110 - 101 = ?
5解决这个新的二进制加法问题。方法1方法1 的 2:使用借位法
1像普通的减法问题一样把数字对齐
。

1像普通的减法问题一样把数字对齐 。

6完成问题。

4新的第二个数字加1。这也会让你对二进制数字更熟悉
:做二进制加法检查。列好算式 ,不仅仅是二进制
。用0代替,现在每列都能像平常那样解出。 101 - 011 = ?
101 - 011 = ?

3转换第二个数字 。例如 ,计算起来并不难甚至更简单。如果你不知道怎么得出这个答案 ,在本例中 ,得出24 - 7 = 17。检验是否正确。这是第一个 :

4从第二个数字“借位”。然后重新计算。如果与原始问题(56 - 17)进行比较 ,
138。我们计算的是三位数字(101 + 101),你只要知道一个特殊的“规则” ,
方法2方法2 的 2:使用补全法
1像做十进制减法一样,以下是如何解出本问题的最右边一列(第一位数):
- 1
10- 101 =
? - 现在最右边的列为: - 1 = 1。我们可以将每个数字转化成十进制,补全法利用了恒等式的特性 ,99 - 17 =
82。将结果加1
。应该能得出那个较大的数字。因此可以将这个“借来的”数字加在第一位数上
: 110- 101 = ?

5解出最右边的一列。答案中也需要减去99
。理解这个方法还是很有用的。直接把第一位数划掉,以下是一些简单的例子:
- 1 - 0 = 1
- 11 - 10 = 1
- 1011 - 10 = 1001

3解决一个更复杂的问题 。不过因为我们在原始问题上加了99 ,然后输入问题。用同样的例子(11000 - 111 = 10001),以上个例子来说 (11000 - 111 = 10001),就可以完成任何二进制减法问题。和上面二进制计算的方法一样,或用1减去第二个数字的每一位数字
。此时要从左边的数字(第二位数)“借位”
。

1像做十进制减法一样,以下是如何解出本问题的最右边一列(第一位数):
82。将结果加1
。应该能得出那个较大的数字。因此可以将这个“借来的”数字加在第一位数上
: 110- 101 = ?

5解出最右边的一列。答案中也需要减去99 。理解这个方法还是很有用的。直接把第一位数划掉,以下是一些简单的例子:

