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

发布网友 发布时间:2022-04-20 09:30

我来回答

4个回答

热心网友 时间:2022-07-12 08:20

A-B
=A+(-B)
,等于A的补码加(-B)的补码,而不是“A+(B的补码)”
1.
计算机只能识别0和1,使用的是二进制,而在日常生活中人们使用的是十进制,"正如亚里士多德早就指出的那样,今天十进制的广泛采用,只不过是我们绝大多数人生来具有10个手指头这个解剖学事实的结果。
2.
尽管在历史上手指计数(5,10进制)的实践要比二或三进制计数出现的晚。".为了能方便的与二进制转换,就使用了十六进制(2
4)和八进制1.数值有正负之分,计算机就用一个数的最高位存放符号(0为正,1为负).这就是机器数的原码了。

热心网友 时间:2022-07-12 08:20

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

热心网友 时间:2022-07-12 08:21

加法就不用转补码了,二进制减法a-b,可将-b转换为补码,再作加法处理。
补码=原码取反+1

热心网友 时间:2022-07-12 08:21

在计算机中:补码与原码的计算是同一套加法器,之所以有补码的原因之一就是为了省去再做一个减法器(当然还有省去-0使得负数能比正数多1,同时也是最大的负数10000…0),补码的运算直接算按照二进制加法计算就行,算出啥就是啥(还是补码)。
计算过程,a-b转化为
a+(-b)然后补码相加
具体原理,我不知道你是不是指的是补码的设计原理,补码的设计原理请谷歌,理解的话就想着计算机就一套加法器,这种东西会计算就行。
请给最佳

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com