📅  最后修改于: 2020-12-30 06:42:58             🧑  作者: Mango
二进制加减法器是一种特殊的电路,用于执行两种操作,即加法和减法。将要使用的操作取决于控制信号所包含的值。在算术逻辑单元中,它是最重要的组件之一。
要使用二进制加法器-减法器,需要了解XOR门,全加器,二进制加法和减法。
例如,对于带数字的操作,我们将使用两个4位二进制数“ X”和“ Y”。
二进制加法器-减法器是4个全加器的组合,能够执行4位二进制数的加法和减法。控制线确定执行的操作是减还是加。该确定由二进制值0和1(由K保持)完成。
在上图中,第一个全加器的控制线直接作为输入(输入进位C0)。 X 0是A的最低有效位,它直接输入到全加器中。通过执行Y 0和K的XOR运算产生的结果是二进制加法器-减法器的第三个输入。和/差(S 0 )和进位(C 0 )是第一全加器产生的两个输出。
当K的值设置为true或1时,Y 0⨁K产生ÿ0的作为输出的补码。因此,运算将为X + Y 0 ',这是X和Y的2的补码减法。减法运算由二进制加法器-减法器执行。
以相同的方式,当K的值被设置为0时,Y 0⨁K产生ÿ0作为输出。因此,运算将为X + Y 0 ,它是X和Y的二进制加法。加法运算由二进制加法器-减法器执行。
进位/借位C 0被视为第二个全加器的进位/借位输入。和/差S 0定义数字X和Y的和/差的最低有效位。就像X 0一样,X 1 ,X 2和X 3也直接淡出到2 nd ,3 rd和4个全加器作为输入。执行Y 1,Y 2和Y 3点的输入与K的异或运算后的输出是2,第3,和第4全加器的第三输入。进位C 1 ,C 2作为输入传递到全加器。 C out是总和/差的输出进位。为了形成最终结果,将S 1 ,S 2 ,S 3记录为s 0 。我们将使用n个数量的Full-Adder设计n位二进制加法器-减法器。
例:
我们假设我们有两个3位数字,即X = 100和Y = 011,并将它们作为输入输入Full-Adder。
X 0 = 0 X 1 = 0 X 2 = 1
Y 0 = 1 Y 1 = 1&Y 2 = 0
对于K = 0:
ÿ0⨁K= Y 0和C在= K = 0
因此,从第一个全加器开始
S 0 = X 0 + Y 0 + C in
S 0 = 0 + 1 + 0
S 0 = 1
C 0 = 0
同样,
S 1 = X 1 + Y 1 + C 0
S 1 = 0 + 1 + 0
S 1 = 1和C 1 = 0
同样,
S 2 = X 2 + Y 2 + C 1
S 2 = 1 + 0 + 0
S 2 = 1和C 2 = 0
从而,
X = 100 = 4
3
总和="0111" 7<="" =="" p="" y="011">
对于K = 1
ÿ0⨁K= Y 0'和C = K = 1
所以,
S 0 = X 0 + Y 0 '+ C in
S 0 = 0 + 0 + 1
S 0 = 1和C 0 = 0
同样,
S 1 = X 1 + Y 1 '+ C 0
S 1 = 0 + 0 + 0
S 1 = 0和C 1 = 0
同样,
S 2 = X 2 + Y 2 '+ C 1
S 2 = 1 + 1 + 0
S 2 = 0和C 2 = 0
从而,
X = 010 = 4
3<="" =="" p="" y="011">
差异= 001 = 1
>>