怎么样计算二进制减法 应该怎么做?

来源:互联网
责任编辑:王嘉善
 综合 
字体:

共同创作人wikiHow员工这篇文章由我们训练有素的编辑和研究团队共同创作,他们对文章的准确性和全面性进行了验证。

本文引用了8条参考,详情参见页面底部。

wikiHow的内容管理团队会严密监督编辑人员的工作,确保每篇文章都符合我们的高质量标准要求。

在本文中:使用借位法使用补全法8 参考

二进制减法与十进制减法略有不同,不过按照以下步骤,计算起来并不难甚至更简单。

1使用借位法

以Subtract Binary Numbers Step 1为标题的图片

1像普通的减法问题一样把数字对齐。将较大的数字写在较小的数字上方。如果较小的数字数位更少,就和十进制减法一样将它们靠右对齐。[1]

以Subtract Binary Numbers Step 2为标题的图片

2尝试一些基本的问题。有些二进制减法问题与十进制减法并无不同。列好算式,从右边开始,算出每个数字的结果。以下是一些简单的例子:

1 - 0 = 1

11 - 10 = 1

1011 - 10 = 1001

以Subtract Binary Numbers Step 3为标题的图片

3解决一个更复杂的问题。你只要知道一个特殊的“规则”,就可以完成任何二进制减法问题。这个规则告诉你如何从左边的数字“借位”来解决“0-1”的算式。[2]接下来,我们会列举几个例子,用借位法来解决。这是第一个:

110 - 101 = ?

以Subtract Binary Numbers Step 4为标题的图片

4从第二个数字“借位”。从右边(第一位数)开始计算,需要先解决“0-1”的问题,此时要从左边的数字(第二位数)“借位”。这里有两步:

首先,划掉1,用0代替,得出:1010 - 101 =?

此时已经从第一位数减去了10,因此可以将这个“借来的”数字加在第一位数上: 101100 - 101 = ?

以Subtract Binary Numbers Step 5为标题的图片

5解出最右边的一列。现在每列都能像平常那样解出。以下是如何解出本问题的最右边一列(第一位数):[3]

101100 - 101 =?

现在最右边的列为:10 - 1 = 1。如果你不知道怎么得出这个答案,可以参考本文: 把二进制数转化为十进制数:

102 =(1 x 2)+(0 x 1)= 210。(下标 说明了数字的进制。)

12 =(1x1)= 110

因此这个问题按十进制就是2 - 1 = ?,答案是1。

以Subtract Binary Numbers Step 6为标题的图片

6完成问题。剩下的问题就很容易解决了。从右至左算出每一列:

101100 - 101 = __1 = _01 = 001 = 1

以Subtract Binary Numbers Step 7为标题的图片

7试着做一道难题。二进制减法中经常用到借位,有时候为了解决一列需要多次借位。例如,以下是如何解决11000 - 111。我们不能从0“借位”,因此需要不断向左边借位,直至能借为止:[4]

10110000 - 111 =

10111001000 - 111 = (记住,10 - 1 = 1)

10111001100100 - 111 =

这是更简洁的写法:1011100 - 111 =

逐列解出:_ _ _ _ 1 = _ _ _ 0 1 = _ _ 0 0 1 = _ 0 0 0 1 = 1 0 0 0 1

以Subtract Binary Numbers Step 8为标题的图片

8检验答案。有三种方法可以检验答案。[5]有个快速的方法就是在线找个二进制计算器,然后输入问题。另外两种方法也有用,不过需要手工计算检验,这也会让你对二进制数字更熟悉:

做二进制加法检查。将答案与较小的数字相加,应该能得出那个较大的数字。以上个例子来说 (11000 - 111 = 10001),得出10001 + 111 = 11000,也就是一开始那个较大的数字。

还有一种方法, 将二进制数转化为十进制数,检验是否正确。用同样的例子(11000 - 111 = 10001),我们可以将每个数字转化成十进制,得出24 - 7 = 17。这是个真命题,因此我们的答案是对的。

2使用补全法

以Subtract Binary Numbers Step 9为标题的图片

1像做十进制减法一样,排列好两个数字。由于这个方法使用了更为有效的程序,因此被电脑用来做二进制减法。而对于人们计算十进制的减法,用这个方法可能更难。但作为程序员来说,理解这个方法还是很有用的。[6]

就用这个例子101 - 11 = ?

以Subtract Binary Numbers Step 10为标题的图片

2如果两个数字的数位要一样,可以在数字前面补0。例如,将101-11 转化成101-011,这个两个数字都有三位数。

101 - 011 = ?

以Subtract Binary Numbers Step 11为标题的图片

3转换第二个数字。将第二个数字的0变成1,1变成0。在本例中,第二个数字变成:011 → 100

实际上我们要做的是“取1的补数”,或用1减去第二个数字的每一位数字。二进制中的“转换”很简单,因为只有两种可能:1 - 0 = 1以及1 - 1 = 0

以Subtract Binary Numbers Step 12为标题的图片

4新的第二个数字加1“转换”数字后,将结果加1。在本例中,就是100 + 1 = 101

以Subtract Binary Numbers Step 13为标题的图片

5解决这个新的二进制加法问题用二进制加法将新数字与原数字相加而不是相减:

101 + 101 = 1010

如果你不能理解,请参考本文:如何做二进制加法。

以Subtract Binary Numbers Step 14为标题的图片

6丢弃第一位数字。这个方法得出的答案总会多出一位数字。本例中,我们计算的是三位数字(101 + 101),但得出的结果是四位数字(1010)。直接把第一位数划掉,就是最初“减法”问题的答案:[7]

1010 = 10

因此,101 - 011 = 10

如果没有多出来的数字,可以用小数减大数。参阅提示部分了解如何解决这样的问题,然后重新计算。

以Subtract Binary Numbers Step 15为标题的图片

7在十进制中使用这个方法。由于“转换数字”最终会变成“1的补数”然后再加1,因此这个方法被称为是“2的补全”。[8]如果你想更直观地了解这个方法的原理,可以试着在十进制中使用:

56 - 17

由于使用的是十进制,我们要取第二个数字(17)的“9的补数”,即用9减去每位数字。99 - 17 = 82

将问题转换成加法问题:56 + 82。如果与原始问题(56 - 17)进行比较,会发现我们已经加上了99。

56+82=138。不过因为我们在原始问题上加了99,答案中也需要减去99。和上面二进制计算的方法一样,也有捷径:先在总数上加1,然后在左边减去同样的数字(也就是100):

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

小提示

小数减大数要调换数字的顺序,做完减法,在答案前加上负号。例如,计算二进制减法11 - 100,要算出100 - 11,然后在答案前加负号。(这条规则适用于任何进制的减法,不仅仅是二进制。)

在数学上,补全法利用了恒等式的特性,a - b = a + (2n - b) - 2n ,当n为b中的位数时,2n - b比负数结果大1。

参考

↑ http://www.math.ucla.edu/~radko/circles/lib/data/Handout-602-720.pdf↑ http://www.math.ucla.edu/~radko/circles/lib/data/Handout-602-720.pdf↑ http://www.math.ucla.edu/~radko/circles/lib/data/Handout-602-720.pdf↑ http://www.math.ucla.edu/~radko/circles/lib/data/Handout-602-720.pdf↑ http://www.exploringbinary.com/binary-subtraction/↑ http://www.exploringbinary.com/binary-subtraction/↑ http://courses.cs.vt.edu/csonline/NumberSystems/Lessons/SubtractionWithTwosComplement/index.html↑ http://courses.cs.vt.edu/csonline/NumberSystems/Lessons/SubtractionWithTwosComplement/index.html

相关wikiHows

求正多边形的面积

如何

求正多边形的面积

将分钟换算成小时

如何

将分钟换算成小时

计算置信区间(Confidence Interval)

如何

计算置信区间(Confidence Interval)

求直角三角形斜边的长度

如何

求直角三角形斜边的长度

求四边形的面积

如何

求四边形的面积

计算期望值

如何

计算期望值

计算球体的半径

如何

计算球体的半径

做分数乘法

如何

做分数乘法

将秒转换成分钟

如何

将秒转换成分钟

求等差数列之和

如何

求等差数列之和

计算等腰三角形的面积

如何

计算等腰三角形的面积

求弧长

如何

求弧长

计算盒子的体积

如何

计算盒子的体积

计算分数的平方

如何

计算分数的平方

根据您访问的内容,您可能还对以下内容感兴趣,希望对您有帮助:

二进制减法运算如何实现?

答:二进制减法与普通减法没有什么不同,只不过高位借1只能当2用,这样减下来就不会有问题。关键是不够减怎么办,数学计算时可以有负数,但计算机上程序计算时却没有符号位,而且是有字节数要求的。这样对于非借位的就是普通减法运算,对于借位的就...

二进制减法怎么做?

答:(2)、二进制减法法则 0 - 0 = 0 1 - 0 = 1 1 - 1 = 0 0 - 1 = 1 有借位,借1当(10)2 0 - 1 - 1 = 0 有借位 1 - 1 - 1 = 1 有借位 注:(10)2表示为二进制中的2

二进制数的减法运算怎么借位?

答:二进制数的减法运算, 从高位借1过来,则当 2。 二进制减法与普通减法没有什么不同,只不过高位借1只能当2用,这样减下来就不会有问题。关键是不够减怎么办,数学计算时可以有负数,但计算机上程序计算时却没有符号位,而且是有字节数要求的。这...

二进制减法怎么算,例如11000100-00100101,求详细...

答:先将被减数变为二补码,00100101变为二补码就是11011011 然后和11000100相加,也就得到10011111

二进制减法怎么算啊 借位我弄不明白 给我讲明白地...

答:110000减10111 等于11001。 1、我们用在某位上方有标记点表示该位被借位。具体过程为从被减数的右边第一位开始减去减数,在本例中,由于0减1而向右数第二位借位,借1在十进制里是借了10,但在二进制里是借了2,故借来了2后,这里的计算是2+0-1=1...

二进制用补码做加减法怎么实现,举个例子??

答:正数的补码是原码;负数的补码是符号位(最高位)不变,其余位按位取反加1. 用补码做减法运算时,结果出现的情况有正、0、负: 结果为正或者0时,补码是原码,直接转换成10进制即可; 结果为负时,需要将结果减1再保持符号位不变按位取反。 例如...

二进制减法怎么算

答:二进制减法与普通减法没有什么不同,只不过高位借1只能当2用,这样减下来就不会有问题。关键是不够减怎么办,数学计算时可以有负数,但计算机上程序计算时却没有符号位,而且是有字节数要求的。这样对于非借位的就是普通减法运算,对于借位的就...

二进制数如何加减法

答:没人回答你,我来回答吧。 加法看这几列: Cin, x, y, Cout, s 分别表示 低位向本位的进位,第一个本位加数,第二个本位加数,本位向高位的进位,本位的和。所以很容易得到表如下: 0 + 0 + 0 = 0 + 00 + 0 + 1 = 0 + 10 + 1 + 0 = 0 + 10 + 1 +...

二进制减法怎么算啊(详细,好的话追加100分)

答:3.1.2 二进制减法 二进制减法也很简单,与加法一样,二进制减法有八条规则: l0 – 0 = 0 l0 – 1 = 1 有借位 l1 – 0 = 1 l1 – 1 =0 l0 – 0 – 借位 = 1有借位 l0 – 1 – 借位 = 0有借位 l1 – 0 – 借位 = 0 l1 – 1 – 借位 = 1有借位 以下是二进制减...

计算机二进制减法,借一当二,是怎么计算的?

答:借一当二就是两个数相减时,被减数的某位数一可以在下一位数中当做二使用 如110-1=101(110中第二个1可以拿到下一位当做2使用,即110等价于102), 你这个从右向左依次相减,1-0=1 , 0-1向前借2=1 , 1-1向后借了一位为0需向前借2,再减1=1 , 0...


www.book1234.com true http://www.book1234.com/10/4336/109361.html report 40765 怎么样计算二进制减法应该怎么做?,共同创作人wikiHow员工这篇文章由我们训练有素的编辑和研究团队共同创作,他们对文章的准确性和全面性进行了验证。本文引用了8条参考,详情参见页面底部。wikiHow的内容管理团队会严密监督编辑人员的工作,确保每篇文章都符合我们的高质量标准要求。在本...
娱乐时尚
科技资讯
历史文化
真视界
旅游美食
精彩图文
我爱我车
母婴健康
关于本站 | 广告服务 | 手机版 | 商务合作 | 免责申明 | 招聘信息 | 联系我们
Copyright © 2004-2018 book1234.com All Rights Reserved. 布客网 版权所有
京ICP备10044368号-1 京公网安备11010802011102号
教育考试: 学历财经建筑 医药公考资格外语电脑作文招聘中小学留学 文档 移民 文库专栏23问答中心z资讯z资讯1资讯涨资讯涨资讯1资讯问答图书馆知识IT编程数码信息解决方案信息中心IT科技问答新闻中心软件教室设计大全网络相关英语学习开发编程考试中心参考范文管理文库营销中心站长之家IT信息中心商学院数码大全硬件DIY企业服务网吧在线百科硬件知识手机平板汽车游戏家电精彩摄影现代家居IT女人经验健康养生猎奇创业攻略教育学习历史时尚潮流最近更新涨知识