怎么用二进制补码做加减法?

如题所述

A-B
=A+(-B)
,等于A的补码加(-B)的补码,而不是“A+(B的补码)”
1.
计算机只能识别0和1,使用的是二进制,而在日常生活中人们使用的是十进制,"正如亚里士多德早就指出的那样,今天十进制的广泛采用,只不过是我们绝大多数人生来具有10个手指头这个解剖学事实的结果。
2.
尽管在历史上手指计数(5,10进制)的实践要比二或三进制计数出现的晚。".为了能方便的与二进制转换,就使用了十六进制(2
4)和八进制1.数值有正负之分,计算机就用一个数的最高位存放符号(0为正,1为负).这就是机器数的原码了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-19
补充,这里都是8421码的
至于字长多少,选择的只要不溢出即可,计算结果一样。
=====================================
举第一个和第五个作为例子吧:
首先确定字长,这里就假定是
16

第一个
=
53
+
60
=
0000000000110101
+
0000000000111100
=
0000000001110001
=
113
第四个
=
86d
-
33d
(转化的时候可用每四个二进制位分隔)
=
0000|1000|0110|1101
-
0000|0011|0011|1101
(减数求补,取反加一)
=
0000|1000|0110|1101
+
1111|1100|1100|0011
(溢出直接忽略)
=
0000|0101|0011|0000
=
(530)h
第2个回答  2022-06-21
就和普通的二进制数做加减,是一毛一样的。
逢二进一、借一当二。
相似回答