
- 数字电子教程
- 数字电子 - 首页
- 数字电子基础
- 数字系统类型
- 信号类型
- 逻辑电平和脉冲波形
- 数字系统组件
- 数字逻辑运算
- 数字系统优势
- 数制
- 数制
- 二进制数表示
- 二进制算术
- 带符号二进制算术
- 八进制算术
- 十六进制算术
- 补码算术
- 进制转换
- 进制转换
- 二进制转十进制
- 十进制转二进制
- 二进制转八进制
- 八进制转二进制
- 八进制转十进制
- 十进制转八进制
- 十六进制转二进制
- 二进制转十六进制
- 十六进制转十进制
- 十进制转十六进制
- 八进制转十六进制
- 十六进制转八进制
- 二进制码
- 二进制码
- 8421 BCD码
- 余三码
- 格雷码
- ASCII码
- EBCDIC码
- 码制转换
- 检错纠错码
- 逻辑门
- 逻辑门
- 与门
- 或门
- 非门
- 通用门
- 异或门
- 异或非门
- CMOS逻辑门
- 使用二极管电阻逻辑的或门
- 与门与或门
- 两级逻辑实现
- 阈值逻辑
- 布尔代数
- 布尔代数
- 布尔代数定律
- 布尔函数
- 德摩根定理
- SOP和POS形式
- POS到标准POS形式
- 最小化技术
- 卡诺图化简
- 三变量卡诺图
- 四变量卡诺图
- 五变量卡诺图
- 六变量卡诺图
- 无关项
- 奎因-麦克斯拉斯基法
- 最小项和最大项
- 规范式和标准式
- 最大项表示
- 使用布尔代数化简
- 组合逻辑电路
- 数字组合电路
- 数字算术电路
- 多路复用器
- 多路复用器设计过程
- 多路复用器通用门
- 使用4:1多路复用器的2变量函数
- 使用8:1多路复用器的3变量函数
- 多路分解器
- 多路复用器与多路分解器
- 奇偶校验位发生器和校验器
- 比较器
- 编码器
- 键盘编码器
- 优先编码器
- 译码器
- 算术逻辑单元
- 7段LED显示器
- 代码转换器
- 代码转换器
- 二进制转十进制转换器
- 十进制转BCD转换器
- BCD转十进制转换器
- 二进制转格雷码转换器
- 格雷码转二进制转换器
- BCD转余三码转换器
- 余三码转BCD转换器
- 加法器
- 半加器
- 全加器
- 串行加法器
- 并行加法器
- 使用半加器的全加器
- 半加器与全加器
- 使用与非门的全加器
- 使用与非门的半加器
- 二进制加法/减法器
- 减法器
- 半减器
- 全减器
- 并行减法器
- 使用两个半减器的全减器
- 使用与非门的半减器
- 时序逻辑电路
- 数字时序电路
- 时钟信号和触发
- 锁存器
- 移位寄存器
- 移位寄存器应用
- 二进制寄存器
- 双向移位寄存器
- 计数器
- 二进制计数器
- 非二进制计数器
- 同步计数器设计
- 同步计数器与异步计数器
- 有限状态机
- 算法状态机
- 触发器
- 触发器
- 触发器转换
- D触发器
- JK触发器
- T触发器
- SR触发器
- 带时钟SR触发器
- 无时钟SR触发器
- 带时钟JK触发器
- JK触发器转T触发器
- SR触发器转JK触发器
- 触发方式:触发器
- 边沿触发触发器
- 主从JK触发器
- 竞争冒险现象
- A/D和D/A转换器
- 模数转换器
- 数模转换器
- DAC和ADC集成电路
- 逻辑门的实现
- 用与非门实现非门
- 用与非门实现或门
- 用与非门实现与门
- 用与非门实现与非门
- 用与非门实现异或门
- 用与非门实现异或非门
- 用或非门实现非门
- 用或非门实现或门
- 用或非门实现与门
- 用或非门实现与非门
- 用或非门实现异或门
- 用或非门实现异或非门
- 使用CMOS的与非/或非门
- 使用与非门的全减器
- 使用2:1多路复用器的与门
- 使用2:1多路复用器的或门
- 使用2:1多路复用器的非门
- 存储器件
- 存储器件
- RAM和ROM
- 高速缓存设计
- 可编程逻辑器件
- 可编程逻辑器件
- 可编程逻辑阵列
- 可编程阵列逻辑
- 现场可编程门阵列
- 数字电子系列
- 数字电子系列
- CPU架构
- CPU架构
- 数字电子资源
- 数字电子 - 快速指南
- 数字电子 - 资源
- 数字电子 - 讨论
数字算术电路
本章我们将讨论基本的算术电路,例如二进制加法器和二进制减法器。这些电路可以使用二进制值0和1进行操作。
二进制加法器
最基本的算术运算就是加法。执行两个二进制数相加的电路称为二进制加法器。首先,让我们实现一个加法器,它执行两个位的加法。
半加器
半加器是一个组合电路,它执行两个二进制数A和B的加法,其中A和B为一位。它产生两个输出:和S和进位C。
半加器的真值表如下所示。
输入 | 输出 | ||
---|---|---|---|
A | B | C | S |
0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 |
1 | 0 | 0 | 1 |
1 | 1 | 1 | 0 |
当我们进行两位的加法时,结果和的值范围在十进制的0到2之间。我们可以用二进制的一位来表示十进制数字0和1。但是,我们不能用二进制的一位来表示十进制数字2。因此,我们需要两位来用二进制表示它。
设和S为最低有效位,进位C为结果和的最高有效位。对于前三种输入组合,进位C为零,S的值将根据输入中1的个数为零或一。但是,对于最后一种输入组合,进位C为一,和S为零,因为结果和为二。
从真值表中,我们可以直接写出每个输出的布尔函数为
S=A⊕B
C=AB
我们可以用一个2输入异或门和一个2输入与门来实现上述函数。半加器的电路图如下所示。

在上面的电路中,一个二输入异或门和一个二输入与门分别产生和S和进位C。因此,半加器执行两位的加法。
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.
全加器
全加器是一个组合电路,它执行三位A、B和Cin的加法。其中,A和B是两位并行有效位,Cin是从前一级产生的进位位。这个全加器也产生两个输出:和S和进位Cout,它们与半加器类似。
全加器的真值表如下所示。
输入 | 输出 | |||
---|---|---|---|---|
A | B | Cin | Cout | S |
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 | 1 |
0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 1 |
1 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 1 | 0 |
1 | 1 | 1 | 1 | 1 |
当我们进行三位数的加法时,结果和的值范围在十进制的0到3之间。我们可以用二进制的一位来表示十进制数字0和1。但是,我们不能用二进制的一位来表示十进制数字2和3。因此,我们需要两位来用二进制表示这两个十进制数字。
设和S为最低有效位,进位Cout为结果和的最高有效位。很容易在真值表中填写所有输入组合的输出值。只需计算输入中1的个数并在输出处写入等效的二进制数。如果Cin等于零,则全加器的真值表与半加器的真值表相同。
化简后,我们将得到每个输出的以下布尔函数。
S=A⊕B⊕Cin
cout=AB+(A⊕B)cin
当输入中存在奇数个1时,和S等于1。我们知道异或门产生一个奇函数输出。因此,为了产生和S,我们可以使用两个2输入异或门或一个3输入异或门。我们可以使用两个2输入与门和一个或门来实现进位Cout。全加器的电路图如下所示。

这个加法器被称为全加器,因为实现一个全加器需要两个半加器和一个或门。如果Cin为零,则全加器变为半加器。我们可以从上面的电路图或全加器输出的布尔函数中很容易地验证这一点。
4位二进制加法器
4位二进制加法器执行两个4位数的加法。设4位二进制数为A=A3A2A1A0和B=B3B2B1B0。我们可以通过以下两种方法之一来实现4位二进制加法器。
- 使用一个半加器来进行两位最低有效位的加法,并使用三个全加器来进行三位更高有效位的加法。
- 为了一致性,使用四个全加器。由于初始进位Cin为零,用于添加最低有效位的全加器变为半加器。
目前,我们考虑第二种方法。4位二进制加法器的框图如下所示。

此处,4个全加器级联。每个全加器接收两个并行输入 A 和 B 的相应位。一个全加器的进位输出将作为下一个更高位全加器的进位输入。这个 4 位二进制加法器产生的结果和最多有 5 位。因此,最后一个阶段全加器的进位输出将是最高有效位 (MSB)。
通过这种方式,我们可以通过级联所需数量的全加器来实现任何更高位的二进制加法器。这种二进制加法器也称为行波进位(二进制)加法器,因为进位从一个阶段传播(涟漪)到下一个阶段。
二进制减法器
执行两个二进制数减法的电路称为二进制减法器。我们可以通过以下两种方法实现二进制减法器。
- 级联全减器
- 补码法
在第一种方法中,我们将通过级联 'n' 个全减器来得到一个 n 位二进制减法器。因此,首先您可以实现半减器和全减器,类似于半加器和全加器。然后,您可以通过级联 'n' 个全减器来实现 n 位二进制减法器。因此,我们将有两个独立的电路用于两个二进制数的二进制加法和减法。
在第二种方法中,我们可以使用相同的二进制加法器进行两个二进制数的减法,只需对第二个输入进行一些修改即可。因此,内部执行二进制加法运算,但输出是结果减法。
我们知道,两个二进制数 A 和 B 的减法可以写成:
A−B=A+(B的2的补码)
=>A−B=A+(B的1的补码)+1
4 位二进制减法器
4 位二进制减法器产生两个 4 位数的减法结果。设 4 位二进制数为,A=A3A2A1A0 和 B=B3B2B1B0。内部,4 位二进制减法器的操作类似于 4 位二进制加法器。如果将二进制数 A 的普通位、二进制数 B 的反码位和初始进位 (借位) Cin 作为 1 应用于 4 位二进制加法器,则它将成为 4 位二进制减法器。下图显示了 4 位二进制减法器的框图。

这个 4 位二进制减法器产生一个输出,最多有 5 位。如果二进制数 A 大于二进制数 B,则输出的 MSB 为零,其余位保存 A-B 的大小。如果二进制数 A 小于二进制数 B,则输出的 MSB 为一。因此,为了获得 A-B 的大小,请取输出的 2 的补码。
通过这种方式,我们可以通过级联所需数量的全加器并进行必要的修改来实现任何更高位的二进制减法器。
二进制加法器/减法器
可以随时用于执行两个二进制数的加法或减法的电路称为二进制加法器/减法器。二进制加法器和二进制减法器都包含一组级联的全加器。二进制数 A 的输入位直接应用于二进制加法器和二进制减法器。
二进制加法器和二进制减法器中存在全加器的输入有两个区别。
- 在二进制加法器中,二进制数 B 的输入位直接应用于全加器,而在二进制减法器中,二进制数 B 的反码位应用于全加器。
- 在 4 位二进制加法器中应用初始进位 C0 = 0,而在 4 位二进制减法器中应用初始进位 (借位) C0 = 1。
我们知道,一个2 输入异或门产生的输出与另一个输入为零时的第一个输入相同。类似地,当另一个输入为一时,它会产生一个与第一个输入互补的输出。
因此,我们可以将二进制数 B 的输入位应用于 2 输入异或门。所有这些异或门的另一个输入是 C0。因此,根据 C0 的值,异或门产生二进制数 B 的普通位或反码位。
4 位二进制加法器/减法器
4 位二进制加法器/减法器根据初始进位或借位 C0 的值产生两个 4 位数的加法或减法结果。设 4 位二进制数为,A=A3A2A1A0 和 B=B3B2B1B0。4 位二进制加法器/减法器的操作类似于 4 位二进制加法器和 4 位二进制减法器。
将二进制数 A 和 B 的普通位和初始进位或借位 C0 从外部应用于 4 位二进制加法器。下图显示了 4 位二进制加法器/减法器的框图。

如果初始进位 C0 为零,则每个全加器都获得二进制数 A 和 B 的普通位。因此,4 位二进制加法器/减法器产生一个输出,该输出是两个二进制数 A 和 B 的加法结果。
如果初始借位 C0 为一,则每个全加器都获得二进制数 A 的普通位和二进制数 B 的反码位。因此,4 位二进制加法器/减法器产生一个输出,该输出是两个二进制数 A 和 B 的减法结果。
因此,借助额外的异或门,同一个电路可以用于两个二进制数的加法和减法。