【发布时间】:2012-01-30 20:34:19
【问题描述】:
可能问错了地方,但我会尝试。
我必须设计一个可以加/减浮点的电路
我尝试使用 IEE 754 标准中的有符号幅度数来做到这一点。
它们非常大,所以我决定从较小的东西开始,以证明这个概念。
我在网上找到了一些算法来执行正数的加法和减法。
大多数看起来像这样:
http://meseec.ce.rit.edu/eecc250-winter99/250-1-27-2000.pdf
.
他们没有解释符号位会发生什么。
现在我很困惑。根据我在网上找到的内容,性能没有区别:
A-B and A- (-B)
有人可以帮我提供一个详细解释算法的链接吗?
感谢所有答案
我发现这个代数解释很有用http://howardhuang.us/teaching/cs231/08-Subtraction.pdf
目前我的电路执行 A+B(不考虑符号位)和 A-B,就像 kfmfe04 写的一样。我对 B 的输入进行异或运算并加 1,所以我得到了 2C 的结果。
第二个 pdf 建议在加/减操作中包含符号位。我会在早上试试这个。
花了这么多小时锻炼我的大脑,我觉得有点累,无法思考。现在我只是想知道是否应该更改我的电路,以便:
切换添加/子按钮仍然对 B [a+(-b)] 进行异或,但在这部分之前,我将尾数与它们的符号异或以将它们转换为2c。
这样我可以涵盖负数减法 (-A)-(-B) 的情况。
不过听起来很复杂。
【问题讨论】:
-
A-(-B)在代数上是A+B。 “根据我在网上找到的没有区别”需要一些支持链接、引用或参考。如果您能解释一下您在哪里看到的,这将有所帮助。 -
你的意思是
A - B = A + (-B)? -
我发现这个代数解释很有用howardhuang.us/teaching/cs231/08-Subtraction.pdf
标签: floating subtraction circuit