用逻辑电路计算两个二进制数之间的差值

时间:2015-02-13 15:09:22

标签: binary logic subtraction twos-complement circuit

我想设计一个逻辑电路来计算两个二进制数之间的差异,符号A和B有4位,并且还想计算传播延迟并确定值? 有人可以帮忙!  我确实创建了一个带有add / sub和B值的xor门,并连接到全加器,当子值为1时,将1添加到第一个完整加法器,使其为2的补码。 我的问题是符号位。当它是负数时我是否必须在2的补码中改变A的值(我只是困惑)

1 个答案:

答案 0 :(得分:0)

要获得两个数字A和B之间的差异,必须使用A或B的2的补码。

许多新手对产生2补码的操作感到困惑。

不要忘记你必须定义加法器的比例,a.k.a,4bits? 8位?最左边的位是符号位。

例如,让我们对A = 4B = -1进行处理,显然4位加法器就足够了。

A = 0100 and B = ~(0001) + 1 = 1111 

代表2的补充。

因为你要求差异,我们应该再次为B做补充。

A-B = 0100 + ~(1111)+1 = 0101
A-B = 5.

正如Guffa所说,在你提出这样的问题之前,你应该在维基上学习一些材料。