加减运算&溢出判断(计算机组成原理16)

加减运算&溢出判断(计算机组成原理16)

加减运算&溢出判断

视频链接地址:

https://www.bilibili.com/video/BV1BE411D7ii?from=search&seid=6420326887479343502

计算机组成原理 系列文章目录

加减运算&溢出判断前言1 原码的加减运算2 补码的加减运算2.1 补码加减2.2 溢出判断2.3 符号扩展

3 小结

前言

在本篇中,你将掌握

原码、补码的加减法运算加法运算的三种溢出判断符号扩展的实现

1 原码的加减运算

注意看上图,14+(-14)的原码加法是错误的

原码的加法运算: 正+正 = 绝对值做加法,结果为正 负+负 = 绝对值做加法,结果为负 正+负 = 绝对值大的减绝对值小的,符号位同绝对值大的数

原码的减法运算,“减数”符号取反,转变为加法

可以看出,原码的加法逻辑太难了,所以计算机中通常用补码来实现加减运算

2 补码的加减运算

2.1 补码加减

[

A

B

]

=

[

A

]

+

[

B

]

[A-B]_{补} = [A]_{补} + [-B]_{补}

[A−B]补​=[A]补​+[−B]补​ 对于补码来说,无论加法还是减法,最后都会转变成加法,由加法器实现运算,符号位也参与运算。

且对于8位机器字长的补码运算会出现溢出,(-128至127)

2.2 溢出判断

在补码加法运算中,会出现溢出这种问题,可以将溢出理解为“循环补码” 比如三位机器数的加法,3+3 = 011 + 011 = 110 = -2

因此,我们可以得到这样的规律: 只有“正数+正数”才会上溢——正+正=负 只有“负数+负数”才会下溢——负+负=正

在此,计算机判断溢出的方式有三种:

方法一:采用一位符号位,离散数学方式进行逻辑表达式计算,而在硬件实现上也只需与门、或门、非门就可以实现逻辑表达式的计算 方法二:采用一位符号位,根据数据位进位情况判断溢出 方法三:采用双符号位,正数的符号位为00,负数的符号位为11 在相加得到结果后,如符号位变成01则表示正确的符号位为0,实际的符号位为1,发生了上溢

注意:实际存储时只存储1个符号位,运算时会复制一个符号位 双符号位补码又称:模4补码 单符号位补码又称:模2补码

2.3 符号扩展

避免溢出可以使用符号扩展的方法:将短数据扩展为长数据

3 小结

本篇重点: (1)原码、补码的加减法运算 (2)溢出判断的三种方法,其中第三种:双符号位方法中注意理解模4补码、模2补码的概念 (3)符号扩展的实现,注意负整数反码、补码的补位添1,负小数补码添0、反码添1

相关文章

S39新赛季:娜可露露变异,新增
365bet体育足球比分

S39新赛季:娜可露露变异,新增

🕒 07-17 👁️ 6967
iMoney钥匙下载指南
beat365官方入口素描网

iMoney钥匙下载指南

🕒 07-20 👁️ 322
抖音里的美颜特效在哪里找到?抖音有哪些玩法?为你揭开抖音的花式玩法!