数字电子教程

数字电子 - 主页

数字电子基础

数字系统的类型 信号类型 逻辑电平和脉冲波形 数字系统组件 数字逻辑运算 数字系统优势

数字系统

数字系统 二进制数表示 二进制运算 有符号二进制运算 八进制运算 十六进制运算 补码运算

进制转换

进制转换 二进制到十进制转换 十进制到二进制转换 二进制到八进制转换 八进制到二进制转换 八进制到十进制转换 十进制到八进制的转换 十六进制到二进制的转换 二进制到十六进制的转换 十六进制到十进制的转换 十进制到十六进制的转换 八进制到十六进制的转换 十六进制到八进制的转换

二进制代码

二进制代码 8421 BCD 码 余3码 格雷码 ASCII 码 EBCDIC 码 代码转换 错误检测和纠正码

逻辑门

逻辑门 与门 或门 非门 通用门 异或门 异或门 CMOS 逻辑门 使用二极管电阻逻辑的或门 与门与或门 两级逻辑实现 阈值逻辑

布尔代数

布尔代数 布尔代数定律 布尔函数 德摩根定理 SOP 和 POS 形式 POS 转换为标准 POS 形式

最小化技术

K-Map 最小化 三变量 K-Map 四变量 K-Map 五变量 K-Map 六变量K-Map 无关条件 Quine-McCluskey 方法 最小项和最大项 规范形式和标准形式 最大项表示 使用布尔代数进行简化

组合逻辑电路

数字组合电路 数字算术电路 多路复用器 多路复用器设计程序 多路复用通用门 使用 4:1 多路复用器的 2 变量函数 使用 8:1 多路复用器的 3 变量函数 解复用器 多路复用器与解复用器 奇偶校验位生成器和检查器 比较器 编码器 键盘编码器 优先级编码器 解码器 算术逻辑单元 7 段 LED 显示屏

代码转换器

代码转换器 二进制到十进制转换器 十进制到 BCD 转换器 BCD 到十进制转换器 二进制到格雷码转换器 格雷码到二进制转换器 BCD 到 Excess-3 转换器 Excess-3 到 BCD 转换器

加法器

半加法器 全加器 串行加器 并行加器 使用半加器的全加器 半加器与全加器 全带 NAND 门的加法器 带 NAND 门的半加法器 二进制加法器-减法器

减法器

半减法器 全减法器 并行减法器 使用 2 个半减法器的全减法器 使用 NAND 的半减法器门

顺序逻辑电路

时序电路 时钟信号和触发 锁存器 移位寄存器 移位寄存器应用 二进制寄存器 双向移位寄存器 计数器 二进制计数器 非二进制计数器 同步计数器的设计 同步与异步计数器 有限状态机 算法状态机

触发器

触发器 触发器的转换 D 触发器 JK 触发器 T 触发器 SR 触发器 时钟控制 SR 触发器 非时钟控制 SR 触发器 时钟控制 JK 触发器 JK 至 T 触发器 SR 至 JK触发器 触发器:触发方法 主从 JK 触发器 竞争条件

A/D 和 D/A 转换器

模拟数字转换器 数字模拟转换器 DAC 和 ADC IC

逻辑门的实现

使用 NAND 门实现非门 使用 NAND 门实现或门 使用 NAND 门实现 AND 门 使用 NAND 门实现 NOR 门 使用 NAND 门实现 XOR 门 使用 NAND 门实现 XNOR 门 使用 NOR 门实现 NOT 门 使用 NOR 门实现 OR 门 使用 NOR 门实现 AND 门 NAND 门和 NOR 门之间的区别 使用 NOR 门实现 XOR 门 使用 NOR 门实现 XNOR 门 使用 CMOS 的 NAND/NOR 门 使用 NAND 门的全减法器 使用 2:1 MUX 的 AND 门 使用 2:1 MUX 的 OR 门 使用 2:1 MUX 的非门

存储设备

存储设备 RAM 和 ROM 高速缓存设计

可编程逻辑设备

可编程逻辑设备 可编程逻辑阵列 可编程阵列逻辑 现场可编程门阵列

数字电子系列

数字电子系列

CPU 架构

CPU 架构

数字电子资源

数字电子 - 资源 数字电子 - 讨论


有符号二进制算术

在本章中,我们将讨论使用 2 的补码方法对任何两个有符号二进制数执行的基本算术运算。基本算术运算是加法和减法。

两个有符号二进制数的加法

考虑两个有符号二进制数 A 和 B,它们以 2 的补码形式表示。我们可以对这两个数字执行加法,这类似于两个无符号二进制数的加法。但是,如果结果和包含来自符号位的进位,则丢弃(忽略)它以获得正确的值。

如果结果和为正,您可以直接找到它的大小。但是,如果结果和为负,则取其 2 的补码以获得幅度。

示例 1

让我们使用 2 的补码方法对两个十进制数 +7 和 +4 进行 加法

+7 和 +4 的 2 的补码 表示形式如下所示,每个表示形式有 5 位。

$$\mathrm{(+7)_{10} \: = \: (00111)_{2}}$$

$$\mathrm{(+4)_{10} \: = \: (00100)_{2}}$$

这两个数字的加法是

$$\mathrm{(+7)_{10} \: + \: (+4)_{10} \: = \: (00111)_{2} \: + \: (00100)_{2}}$$

$$\mathrm{\Rightarrow \: (+7)_{10} \: + \: (+4)_{10} \: = \: (01011)_{2}}$$

结果和包含 5 位。因此,符号位没有进位。符号位"0"表示结果和为。因此,和的幅度在十进制数系统中为 11。因此,两个正数相加将得到另一个正数。

示例 2

让我们使用 2 的补码方法对两个十进制数 -7-4 进行 加法

-7 和 -4 的 2 的补码 表示形式如下所示,每个表示 5 位。

$$\mathrm{(−7)_{10} \: = \: (11001)_{2}}$$

$$\mathrm{(−4)_{10} \: = \: (11100)_{2}}$$

这两个数相加是

$$\mathrm{(−7)_{10} \: + \: (−4)_{10} \: = \: (11001)_{2} \: + \: (11100)_{2}}$$

$$\mathrm{\Rightarrow \: (−7)_{10} \: + \: (−4)_{10} \: = \: (110101)_{2}}$$

结果和包含 6 位。在这种情况下,进位由符号位获得。所以,我们可以去掉它。

去掉进位后的结果和为 (−7)10 + (−4)10 = (10101)2

符号位"1"表示结果和为。因此,通过对其取 2 的补码,我们将得到结果和的幅度为十进制数中的 11。因此,两个负数相加将得到另一个负数。

两个有符号二进制数的减法

考虑两个有符号二进制数 A 和 B,它们以 2 的补码形式表示。我们知道正数的 2 的补码会给出一个负数。因此,每当我们必须从数字 A 中减去数字 B 时,就取 B 的 2 的补数并将其添加到 A。因此,从数学上我们可以将其写为

A - B = A + (B 的 2 的补数)

同样,如果我们必须从数字 B 中减去数字 A,就取 A 的 2 的补数并将其添加到 B。因此,从数学上我们可以将其写为

B - A = B + (A 的 2 的补数)

因此,两个有符号二进制数的减法类似于两个有符号二进制数的加法。但是,我们必须取要减去的数字的 2 的补数。这就是 2 的补码技术的优势。遵循两个有符号二进制数相加的相同规则。

示例 1

让我们使用 2 的补码方法对两个十进制数 +7 和 +4 进行减法

这两个数的减法是

$$\mathrm{(+7)_{10} \: − \: (+4){10} \: = \: (+7)_{10} \: + \: (−4)_{10}}$$

下面显示了 +7 和 -4 的 2 的补码 表示,每个表示 5 位。

$$\mathrm{(+7)_{10} \: = \: (00111)_{2}}$$

$$\mathrm{(+4)_{10} \: = \: (11100)_{2}}$$

$$\mathrm{\Rightarrow \: (+7)_{10} \: + \: (+4)_{10} \: = \: (00111)_{2} \: + \: (11100)_{2} \: = \: (00011)_{2}}$$

这里,进位是从符号位获得的。因此,我们可以将其删除。删除进位后的结果和为

$$\mathrm{(+7)_{10} \: + \: (+4)_{10} \: = \: (00011)_{2}}$$

符号位'0'表示结果和为。因此,其大小在十进制中为3。因此,两个十进制数 +7 和 +4 相减的结果为 +3。

示例 2

让我们使用 2 的补码方法对两个十进制数 +4+7 进行 减法

这两个数的减法为

$$\mathrm{(+4)_{10} \: − \: (+7)_{10} \: = \: (+4)_{10} \: + \: (−7)_{10}}$$

+4 和 -7 的 2 的补码 表示形式如下所示,每个表示 5 位以下。

$$\mathrm{(+4)_{10} \: = \: (00100)_{2}}$$

$$\mathrm{(-7)_{10} \: = \: (11001)_{2}}$$

$$\mathrm{\Rightarrow \: (+4)_{10} \: + \: (-7)_{10} \: = \: (00100)_{2} \: + \: (11001)_{2} \: = \: (11101)_{2}}$$

这里,进位不是从符号位获得的。符号位"1"表示结果和为。因此,通过对其取 2 的补码,我们将得到结果和的数值为十进制数中的 3。因此,两个十进制数 +4 和 +7 相减的结果为 -3。