二进制加法器和减法器

在本教程中,我们将学习二进制加法器和减法器电路。我们将学习半加法器,全加法器,并行加法器(使用多个全加法器),半减法器,全减法器和并行加/减法器组合电路。

二进制加法电路

加法和减法是任何数字计算机都必须执行的两种基本算术运算。如果这两个操作都能正确地实现,那么乘法和除法的任务就会变得容易(因为乘法就是重复的加法,除法就是重复的减法)。

考虑两个二进制数相加的运算,这是数字计算机执行的基本任务之一。四个基本的加法运算两个单位二进制数是:

  • 0 + 0 = 0
  • 1 + 0 = 1
  • 0 + 1 = 1
  • 1 + 1 =(进位)10 0

简单的二进制加法

在前三个运算中,每一个二进制加法运算给出的和都是一位,即0或1。但是对于第四个加法运算(输入为1和1),结果由两个二进制数字组成。这里,较低的有效位称为“和位”,而较高的有效位称为“进位位”。

对于单个位添加,可能没有问题。当我们试图对超过1位的二进制数进行相加时,可能会出现问题。

设计用于两个二进制数相加的逻辑电路称为二进制加法器电路。根据它们如何处理' 1+1 '加法的输出,它们被分为:

  • 一半加法器
  • 完整的加法器

让我们看一下由各种加法器电路执行的二进制加法。

一半加法器

用于两个1位数字或简单的两个比特相加的逻辑电路称为半加法器电路。这个电路有两个输入和两个输出。输入是两个1位二进制数(称为加数和加数),输出是和和进位。

下图显示了半加法器的框图。

半加法器的真值表如下表所示。

输入 输出
一个 B 总和 携带
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1

如果我们观察上面的真值表中的“Sum”值,它就像一个前或门。类似地,上述真值表中的“进位”值类似于“与门”。

所以,为了正确地实现一个半加法器,你需要两个逻辑门:一个XOR门用于“和”输出,一个and门用于“进位”输出。下图显示了半加法器的逻辑图。

一半加法器

在上述半加法器电路中,输入被标记为A和b。“和”输出被标记为求和符号(∑),进位输出被标记为CO

半加法器主要用于一阶二进制数即1位二进制数的加数和被加数的加法。我们不能添加超过1位的二进制数,因为半加法器不能包含前一个和的进位信息。

由于这种限制,半加法器在实际应用中很少被使用,特别是在多数字加法中。在这种应用中,前一位加的进位必须与两位相加;因此它是一个3位加法。

完整的加法器

全加法器是一种组合逻辑电路,它对三位进行加法运算,并产生两个输出:和和进位。正如我们所看到的,半加法器不能响应三个输入,因此全加法器被用来一次加三个数字。

它由三个输入组成,其中两个是输入变量,代表要相加的两个有效位,而第三个输入终端是前一个加法的进位。这两个输出是Sum和Carry输出。

下图显示了一个全加法器的框图,其中输入被标记为a, B和C,输出标记为∑和C

全加法器真值表

来看看真值表,下表显示了一个完整加法器的真值表。

输入 输出
一个 B C 总和 C
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

从上面的真值表中,我们可以得到Sum和进位输出的布尔表达式。利用这些表达式,我们可以建立全加法器的逻辑电路。但是,通过进一步简化方程,我们可以在一点上得出,一个全加法器可以很容易地实现使用两个半加法器和一个或门。

下图显示了一个用两个半加法器和一个OR门实现的全加法器电路。这里,A和B是主要的输入位,C进位输入∑和C分别为Sum和进位输出。

完整的加法器

并行二进制蛇

正如我们所讨论的,一个完整加法器执行两个1位数和进位输入的加法。对于具有一个以上位的二进制数的加法,需要一个以上的全加法器,全加法器的数量取决于数位。因此,一个并行加法器,是多个全加法器的组合,并用于将两个数字的所有位同时相加。

通过连接' n '数的全加法器并行,一个n位并行加法器可以构建。从下图可以看出,最小有效位没有进位,因此我们可以使用半加法器,也可以使全加法器在该位置的进位输入为零。

平行
下图显示了一个并行的4位二进制加法器,它有三个全加法器和一个半加法器。要相加的两个二进制数是“一个3.一个2一个1一个0" B3.B2B1B0,应用于全加法器的相应输入。这个并行加法器产生的结果为“C4年代3.年代2年代1年代0,其中C4是最后进位。

4位加法器

在4位加法器中,第一个块是一个半加法器,它有两个输入a0B0得到一个和S0和一个进位C1。第一个块也可以是一个完整的加法器,如果是这样,那么输入C进位0必须是0。

接下来的三个块应该是全加法器,因为它们有三个输入(两个主二进制位和一个前一阶段的进位)。

因此,第二个块全加法器产生一个和S1和一个进位C2。这将是其他两个全加,因此最终结果是C4年代3.年代2年代1年代0

通常,全加法器设计在双直插封装集成电路中。74LS283是一种流行的4位全加法器IC。单元计算机的算术和逻辑单元(ALU)由这些并行加法器组成,用于执行二进制数的加法。

二进制减法电路

数字计算机要执行的另一个基本算术运算是减法。减法是一种数学运算,其中一个整数从另一个整数中减去以得到相等的数。被另一个数减去的数叫做被减数,被被减数减去的数叫做减数。

与二进制加法类似,二进制减法也是有四种可能的基本运算。它们是:

  • 0 - 0 = 0
  • 0 - 1 =(借)1
  • 1 - 0 = 1
  • 1 - 1 = 0

减法

上图显示了四种可能的二进位减法规则或初等运算。在所有的运算中,每个减数位都要从被减数位中减去。

但在第二规则中,被减数位小于减数位,因此借1来做减法。与加法器电路类似,基本的减法电路也有两种类型:

  • 半减法器
  • 满减法器

半减法器

半减器是一个多重输出组合逻辑电路,做两个1位二进制数的减法。它有两个输入和两个输出。两个输入对应两个1位二进制数,两个输出对应差位和借位(与求和和进位半加法器相反)。

下图显示了半减器的框图。

图像

下表显示了半减法的真值表。

输入 输出
一个 B 区别
0 0 0 0
0 1 1 1
1 0 1 0
1 1 0 0

从上面的真值表,我们可以说,“差”输出的半减器类似于XOR输出(这也是相同的半加器的Sum输出)。因此,二分减法也由带有一个反向输入和一个正常输入的前或门和一个与门执行,需要执行借位操作。

下图显示了半加法器的逻辑电路。

半减法器

该电路类似于半加法器,只不同于被减数输入,即A在应用于与门之前是互补的,以实现借位输出。

在多数字减法的情况下,两个数字之间的减法必须与前一个数字减法的借位一起执行,因此减法器需要有三个输入,这对于半减法器是不可能的。因此,半减器的应用范围有限,严格地说,它在实践中没有使用。

满减法器

全减器是一种组合逻辑电路,它在两个1位二进制数之间做减法,同时也考虑前一个位是否被借,即前一个被减数是否借了1。

所以,一个全减器有三个输入,其中两个输入对应两个要减的位(减数a和减数B),和一个借位,通常表示为B,对应于借位操作。有两个输出,一个对应于差值D输出,另一个对应于Borrow输出BO

下图显示了一个完整的减法器的框图。

全减法真值表

下表显示了一个完全减法器的真值表。

输入 输出
一个 B B D B
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1

通过从上面的真值表推导出全减法的布尔表达式,我们得到了如下图所示的表达式,它告诉我们全减法可以通过带有OR门的半减法实现。

全减法器逻辑电路
通过比较加法器和减法器电路以及真值表,我们可以观察到全减法器的输出D与全加器的输出S完全相同。唯一的区别是输入变量A是全减法的补。

因此,可以将全加法器电路转换为全减法器,只需对输入A进行补全,然后将其应用于门,产生最终的借位输出Bo。

并行二进制减法器

要对大于1位的二进制数进行减法,我们必须使用并行减法器。这种并行减法器可以用多种方法设计,包括二分法和全法的组合,全法的组合,全加法器的减补输入,等等。

下图显示了一个4位并行二进制减法器,由一个二分之一的减法器和三个二分之一的全减法器组成。

在这个减法器中,是4位的被减数“一个3.一个2一个1一个0被4位减法" B3.B2B1B0结果就是输出的差值' D3.D2D1D0。每个减法器的借位输出作为下一个减法器的借位输入连接。

4位减法器

它也可以设计一个4位并行减法器使用4个全加法器如下图所示。该电路通过考虑被减数的加和减数的补等价于减法的原理来执行减法运算。

我们知道A减去B是通过取B的2的补码并把它加到A得到的,B的2的补码是通过取1的补码并在最小有效位对上加1得到的。

因此,在这个电路中,1的B补码是通过逆变器(非门)得到的,1可以通过输入进位加到和中。

平行subtactor

并行加/减器

加和减的运算都可以用一个普通的二进制加法器来完成。这样的二进制电路可以通过在每个全加法器上加一个前或门来设计,如下图所示。下图显示的4位并行二进制加/减器有两个4位输入“一个3.一个2一个1一个0" B3.B2B1B0

模式输入控制线M与全加法器最小有效位的进位输入相连。这条控制线决定操作的类型,是加法还是减法。

并行减法器和加法器

当M= 1时,电路是减法器,当M=0时,电路是加法器。前或门由两个输入组成,其中一个连接到B,另一个连接到M。当M = 0时,B的前或0产生B。

当M = 1时,B的Ex-OR(0)产生B补,进位输入也是1。因此,B的输入被加到A上,1通过输入进位相加,除了2的补码运算。因此,执行减法运算。

结论

一个完整的初学者教程二进制加法器和减法器。你学习了不同的二进制加法器电路,如半加法器,全加法器,并行加法器和不同的二进制减法器,如半减法器,全减法器,并行减法器和组合并行加/减法器电路。

16个反应

  1. 如果B>A和生成的Cout在减法情况下是' 0 ',S3S2S1S0是实际输出的2的补数。
    在这种情况下,这个电路实际上不会描述所有情况下的减法,它对A >b减法是有限的

  2. 非常感谢你们。我发现了一种方法,使一个晶体管在minecraft和这个网站真的帮助我与我目前的计算器项目。现在我只需要找到一种方法把它从十进制转换成二进制再转换回来。

  3. 太好了!简明扼要,没有任何额外的废话(只是为了给人留下深刻印象)。
    “Belal Igbal”的评论有一个很有道理的观点。借入是必要的(B > A)

留下一个回复

您的电子邮件地址将不会被公布。必填字段被标记*