二进制补码加减法

来源:百度知道 编辑:UC知道 时间:2024/05/12 20:08:44
1、(+53)+(+60)
2、(+47)+(-74)
3、(+55)+(+77)
4、(+64)-(+28)
5、(+28)-(+64)
5、(+86D)-(+33D)我想了解真正的步骤,计算方法?谢谢!
可不可以用8位原码来计算?那个好复杂?可不可以有更简单的啊!
8421码来计算

补充,这里都是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

1.110101 + 111100 = 1110001

2.101111 + 1111111111111111111111111111111111111111111111111111111110110110 = 1111111111111111111111111111111111111111111111111111111111100101

3.110111 + 1001101 = 10000100

...

先转成2进制然后加就行了
二进制加法么就是缝2进1

对于负数
比如-1,对于32位数,就是32个1
-2就是 31个1,最后一个0

仍然是用加法算