- 数字电子教程
- 数字电子 - 首页
- 数字电子基础
- 数字系统类型
- 信号类型
- 逻辑电平与脉冲波形
- 数字系统组件
- 数字逻辑运算
- 数字系统优势
- 数制
- 数制
- 二进制数表示
- 二进制运算
- 有符号二进制运算
- 八进制运算
- 十六进制运算
- 补码运算
- 进制转换
- 进制转换
- 二进制转换为十进制
- 十进制转换为二进制
- 二进制转换为八进制
- 八进制转换为二进制
- 八进制转换为十进制
- 十进制转换为八进制
- 十六进制转换为二进制
- 二进制转换为十六进制
- 十六进制转换为十进制
- 十进制转换为十六进制
- 八进制转换为十六进制
- 十六进制转换为八进制
- 二进制编码
- 二进制编码
- 8421 BCD码
- 余3码
- 格雷码
- ASCII码
- EBCDIC码
- 编码转换
- 错误检测与纠错码
- 逻辑门
- 逻辑门
- 与门
- 或门
- 非门
- 通用门
- 异或门
- 异或非门
- CMOS逻辑门
- 使用二极管电阻逻辑的或门
- 与门与或门
- 两级逻辑实现
- 阈值逻辑
- 布尔代数
- 布尔代数
- 布尔代数定律
- 布尔函数
- 德摩根定理
- SOP和POS形式
- POS到标准POS形式
- 最小化技术
- 卡诺图化简
- 三变量卡诺图
- 四变量卡诺图
- 五变量卡诺图
- 六变量卡诺图
- 无关项
- 奎因-麦克斯拉斯基方法
- 最小项和最大项
- 规范式和标准式
- 最大项表示
- 使用布尔代数化简
- 组合逻辑电路
- 数字组合电路
- 数字运算电路
- 多路复用器
- 多路复用器设计流程
- MUX通用门
- 使用4:1 MUX的2变量函数
- 使用8:1 MUX的3变量函数
- 多路分解器
- MUX与DEMUX
- 奇偶校验位生成器和校验器
- 比较器
- 编码器
- 键盘编码器
- 优先编码器
- 译码器
- 算术逻辑单元
- 7段LED显示器
- 代码转换器
- 代码转换器
- 二进制到十进制转换器
- 十进制到BCD转换器
- BCD到十进制转换器
- 二进制到格雷码转换器
- 格雷码到二进制转换器
- BCD到余3码转换器
- 余3码到BCD转换器
- 加法器
- 半加器
- 全加器
- 串行加法器
- 并行加法器
- 使用半加器的全加器
- 半加器与全加器
- 使用与非门的全加器
- 使用与非门的半加器
- 二进制加减法器
- 减法器
- 半减器
- 全减器
- 并行减法器
- 使用两个半减器的全减器
- 使用与非门的半减器
- 时序逻辑电路
- 数字时序电路
- 时钟信号和触发
- 锁存器
- 移位寄存器
- 移位寄存器应用
- 二进制寄存器
- 双向移位寄存器
- 计数器
- 二进制计数器
- 非二进制计数器
- 同步计数器设计
- 同步计数器与异步计数器
- 有限状态机
- 算法状态机
- 触发器
- 触发器
- 触发器转换
- D触发器
- JK触发器
- T触发器
- SR触发器
- 带时钟的SR触发器
- 无时钟的SR触发器
- 带时钟的JK触发器
- JK到T触发器
- SR到JK触发器
- 触发方法:触发器
- 边沿触发触发器
- 主从JK触发器
- 竞争冒险现象
- A/D和D/A转换器
- 模数转换器
- 数模转换器
- DAC和ADC集成电路
- 逻辑门的实现
- 用与非门实现非门
- 用与非门实现或门
- 用与非门实现与门
- 用与非门实现或非门
- 用与非门实现异或门
- 用与非门实现异或非门
- 用或非门实现非门
- 用或非门实现或门
- 用或非门实现与门
- 用或非门实现与非门
- 用或非门实现异或门
- 用或非门实现异或非门
- 使用CMOS的与非/或非门
- 使用与非门的全减器
- 使用2:1 MUX的与门
- 使用2:1 MUX的或门
- 使用2:1 MUX的非门
- 存储器件
- 存储器件
- RAM和ROM
- 缓存存储器设计
- 可编程逻辑器件
- 可编程逻辑器件
- 可编程逻辑阵列
- 可编程阵列逻辑
- 现场可编程门阵列
- 数字电子系列
- 数字电子系列
- CPU架构
- CPU架构
- 数字电子资源
- 数字电子 - 快速指南
- 数字电子 - 资源
- 数字电子 - 讨论
有符号二进制运算
在本章中,我们将讨论基本算术运算,这些运算可以使用2的补码方法对任何两个有符号二进制数执行。**基本算术运算**包括加法和减法。
两个有符号二进制数的加法
考虑两个以2的补码形式表示的有符号二进制数A和B。我们可以执行这两个数的**加法**,这类似于两个无符号二进制数的加法。但是,如果结果和包含来自符号位的进位,则为了获得正确的值,请将其丢弃(忽略)。
如果结果和为正,则可以直接找到其大小。但是,如果结果和为负,则取其2的补码以获得其大小。
示例1
让我们使用2的补码方法执行两个十进制数**+7和+4**的**加法**。
下面显示了+7和+4分别用5位表示的**2的补码**。
$$\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分别用5位表示的**2的补码**。
$$\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。因此,两个负数的加法将得到另一个负数。
两个有符号二进制数的减法
考虑两个以2的补码形式表示的有符号二进制数A和B。我们知道正数的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分别用5位表示的**2的补码**。
$$\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分别用5位表示的**2的补码**。
$$\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。