半加器、全加器的实现和应用——《计算机科学概论》原书第七版 重点内容分析

发布时间:2024年01月21日

门电路实现半加器和全加器的原理

门和电路

如果想详细了解请访问门和电路——组合电路基本原理

问题分析

任何减法都可以转化为加法,对于二进制的加减法的运算可以查看二进制及原码、反码、补码《计算机科学概论》原书第七版 重点内容分析,多个数的加法我们可以拆分为两个数的加法。
研究两个数的加法,我们可以使用逻辑门来实现半加器和全加器。

半加器

半加器可以实现二进制中一个位的加法运算。
我们只需要考虑一个位(或者最低位)
实现半加器的逻辑电路真值表如下(A、B代表两个被操作数,Sum表示加和,Carry表示进位):

A 0B0SumCarry
0000
0110
1010
1101

观察真值表,我们可以直接用异或门计算sum,然后使用与门计算Carry。
用布尔表达式可以写为:Sum=A·B Carry= A ⊕ B

全加器

半加器是有局限的,主要的原因是只能实现最低位的加法计算,如果涉及到进位,那么半加器是无法实现的,因此,我们引入了全加器。
全加器的真值表如下(C_in代表进位)

A1B1C_inSumCarry
00000
00110
01010
01101
10010
10101
11001
11111

C_in的值是上一位的全加器(也就是carry)直接传递过来的。
在全加器中我们为了求得Sum和carry,需要使用两个半加器和一个或门,计算过程如下:

  1. 将A1和B1进行输入半加器,获得S1和C1。
  2. 将S1和C_in输入半加器获得S2和C2,Sum即为S2。
  3. 将C2与C1输入或门得到Carry.
文章来源:https://blog.csdn.net/2301_79896143/article/details/135393747
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。