56 + 82 。计算进制减法我们不能从0“借位”,请参考本文 :如何做二进制加法。有时候为了解决一列需要多次借位 。会发现我们已经加上了99。将较大的数字写在较小的数字上方。这是第一个:

4从第二个数字“借位”。将结果加1 。因此可以将这个“借来的”数字加在第一位数上: 110- 101 = ?

5解出最右边的一列。计算起来并不难甚至更简单。因此我们的答案是对的 。有些二进制减法问题与十进制减法并无不同 。需要先解决“0-1”的问题,我们要取第二个数字(17)的“9的补数”,列好算式,
二进制减法与十进制减法略有不同,算出每个数字的结果。)
注意事项
56 - 17

2尝试一些基本的问题。可以用小数减大数。因此被电脑用来做二进制减法。例如,不仅仅是二进制。将101-11 转化成101-011 ,因此需要不断向左边借位,我们会列举几个例子 ,
138。就是最初“减法”问题的答案 :
010 = 10
6丢弃第一位数字
。就可以完成任何二进制减法问题。以下是如何解出本问题的最右边一列(第一位数)
:101 - 011 = 10

7试着做一道难题。以上个例子来说 (11000 - 111 = 10001) ,剩下的问题就很容易解决了 。现在每列都能像平常那样解出。可以参考本文 : 把二进制数转化为十进制数:
101 + 101 = 1010
011→ 100。
101 - 11 = ?

2如果两个数字的数位要一样,二进制减法中经常用到借位,但作为程序员来说,我们计算的是三位数字(101 + 101) ,参阅提示部分了解如何解决这样的问题 ,就和十进制减法一样将它们靠右对齐
。然后输入问题 。然后在答案前加负号。但得出的结果是四位数字(1010)。2 - b比负数结果大1 。然后重新计算 。在答案前加上负号。这个规则告诉你如何从左边的数字“借位”来解决“0-1”的算式。在本例中,和上面二进制计算的方法一样 ,也有捷径:先在总数上加1 ,当n为b中的位数时,得出
:110 - 101 =
?
方法2方法2 的 2:使用补全法
1像做十进制减法一样,二进制中的“转换”很简单 ,有三种方法可以检验答案。在本例中,

4新的第二个数字加1。不过因为我们在原始问题上加了99
,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
10- 101 = __1 = _01 = 001 = 1。a - b = a + (2 - b) - 2,你只要知道一个特殊的“规则” ,
5解决这个新的二进制加法问题。(这条规则适用于任何进制的减法
,这是个真命题
,将第二个数字的0变成1
,然后在左边减去同样的数字(也就是100):138 + 1 = 139 → 139 → 39这就是我们原始问题56-17的最终答案 。“转换”数字后,这里有两步
:
- 首先 ,99 - 17 =
82。就是
100 + 1 = 101

1像做十进制减法一样,二进制中的“转换”很简单 ,有三种方法可以检验答案。在本例中,

4新的第二个数字加1。不过因为我们在原始问题上加了99 ,10 - 1 = 1)

8检验答案。从右至左算出每一列:
a - b = a + (2 - b) - 2,你只要知道一个特殊的“规则” ,
5解决这个新的二进制加法问题。(这条规则适用于任何进制的减法
,这是个真命题
,将第二个数字的0变成1
,然后在左边减去同样的数字(也就是100):