判断 “无符号小于” 的方式
编辑
4
2025-03-15
对于无符号数 A 和 B ,判断 A < B 是否成立
- 首先对 A 取
NOT得 ~A - 将取反后的值与第二个输入 B 相加
- 检查是否有进位输出
我们可以利用补码的性质来判断:
\text{NOT}(A) + 1 = 2^n - A
有 n=8
接下来对 A<B进行变形:
A < B \Rightarrow A - B < 0 \Rightarrow A + (-B) < 0
现在等价于检查 A+\text{NOT}(B)+1 的最高位是否为 1,而又有:
\text{NOT}(A) + B = (2^n - 1) - A + B = (2^n - 1) + (B - A)
B > A时,(B - A) > 0,\text{NOT}(A) + B 必定产生进位,由此说明该方案可行
- 0
- 0
-
分享