小编Joh*_*ang的帖子

加法器如何执行无符号整数减法?

假设AB是带正号的正整数,则对于A-B,它是使用A+2的的补码计算的B

例如,在4位二进制系统中,对于有符号整数,我们有 7-3=0111-0011=0111+1101=(1)0100,括号中的1是进位位。根据有符号整数的溢出规则,我们知道没有溢出,因此结果是正确的。

但是,对于无符号整数,如果我们计算会发生什么7-3?如果我们使用上面提到的相同方法:

7-3=0111-0011=0111+1101=(1)0100
Run Code Online (Sandbox Code Playgroud)

然后,根据无符号整数的溢出规则,由于进位而导致溢出。换句话说,这0100是错误的,因为存在溢出。但实际上,我们知道结果0100是正确的。

如果我的分析是正确的,那么使用加法器执行无符号整数减法是不是错误?

assembly unsigned subtraction

5
推荐指数
2
解决办法
6280
查看次数

标签 统计

assembly ×1

subtraction ×1

unsigned ×1