第2章 数据的表示和运算
主要内容:
(一) 数据信息的表示
1. 数据的表示
2. 真值和机器数
(二) 定点数的表示和运算
1. 定点数的表示 :无符号数的表示;有符号数的表示。
2. 定点数的运算 :定点数的位移运算;原码定点数的加/减运算;补码定点数的加/减运算;定点数的乘/除运算;溢出概念和判别方法。
1. 定点数的表示 :无符号数的表示;有符号数的表示。
2. 定点数的运算 :定点数的位移运算;原码定点数的加/减运算;补码定点数的加/减运算;定点数的乘/除运算;溢出概念和判别方法。
(三) 浮点数的表示和运算
1. 浮点数的表示 :浮点数的表示范围;IEEE754 标准
2. 浮点数的加/减运算
1. 浮点数的表示 :浮点数的表示范围;IEEE754 标准
2. 浮点数的加/减运算
(四) 算术逻辑单元 ALU
1. 串行加法器和并行加法器
2. 算术逻辑单元 ALU 的功能和机构
1. 串行加法器和并行加法器
2. 算术逻辑单元 ALU 的功能和机构
2.3 浮点数的表示和运算
2.3.1 浮点数的表示
(1)浮点数的表示范围
•浮点数是指小数点位置可浮动的数据,通常以下式表示:
N=M·RE
其中,N为浮点数,M为尾数,E为阶码,R称为“阶的基数(底)”,而且R为一常数,一般为2、8或16。在一台计算机中,所有数据的R都是相同的,于是不需要在每个数据中表示出来。
浮点数的机内表示
浮点数真值:N=M × 2E
浮点数的一般机器格式:
数符 阶符 阶码值 . 尾数值
Ms | EJ | En-1……E0 | M-1……M-m |
1位 1位 n位 m位
•Ms是尾数的符号位,设置在最高位上。
•E为阶码,有n+1位,一般为整数,其中有一位符号位EJ,设置在E的最高位上,用来表示正阶或负阶。
•M为尾数,有m位,为一个定点小数。Ms=0,表示正号,Ms=1,表示负。
•为了保证数据精度,尾数通常用规格化形式表示:当R=2,且尾数值不为0时,其绝对值大于或等于0.5。对非规格化浮点数,通过将尾数左移或右移,并修改阶码值使之满足规格化要
求。
浮点数的机内表示
阶码通常为定点整数,补码或移码表示。其位数决定数值范围。阶符表示数的大小。
尾数通常为定点小数,原码或补码表示。其位数决定数的精度。数符表示数的正负。
浮点数的规格化
字长固定的情况下提高表示精度的措施:
•增加尾数位数(但数值范围减小)
•采用浮点规格化形式
尾数规格化:1/2≤ M <1 最高有效位绝对值为1
浮点数规格化方法:调整阶码使尾数满足下列关系:
•尾数为原码表示时,无论正负应满足1/2 ≤ M <1
即:小数点后的第一位数一定要为1。
正数的尾数应为0.1x….x
负数的尾数应为1.1x….x
•尾数用补码表示时,小数最高位应与数符符号位相反。
正数应满足 1/2 ≤M<1,即 0.1x….x
负数应满足 -1/2 >M≥ -1,即 1.0x….x
浮点数的溢出判断——根据规格化后的阶码判断
•上溢——浮点数阶码大于机器最大阶码—中断
•下溢——浮点数阶码小于机器最小阶码—零处理。
(2)IEEE754标准
根据IEEE 754国际标准,常用的浮点数有两种格式:
单精度浮点数(32位),阶码8位,尾数24位(内含1位符号位)。
双精度浮点数(64位),阶码11位,尾数53位(内含1位符号位)。
•由于IEEE754标准约定在小数点左部有一位隐含位,从而实际使得尾数的有效值变为1.M 。例如,最小为x1.0…0,最大为x1.1…1。规格化表示,故小数点左边的位恒为1,可省去。
•阶码部分采用移码表示,移码值127,1~254 经移码为-126 ~ +127。
•格式: (-1)S ×2E×(M0.M-1……M-(P-1))小数的原码
•最高是数符S,占1位,0表示正、1表示负。
•指数项E,基数是2,是一个带有一定偏移量的无符号整数。
•尾数部分M,是一个带有一位整数位的二进制小数真值形式(原码)。其规格化形式应调整阶码使其尾数整数位M0为1且与小数点一起隐含掉。
单精度浮点数最大表示范围: (-(1)2×2+127 ~(1)2×2+127)——±1038
接近于0的最小值:单精度浮点数可以表示((01)2×2-126) —— 10-38的数据而不损失精度。
接近于0的最小值:单精度浮点数可以表示((01)2×2-126) —— 10-38的数据而不损失精度。
微机中浮点数的三种表示形式
单精度
31 30 23 22 0
符号位 | 1. 阶 码 | 尾数有效位 |
双精度
63 62 52 51 0
符号位 | 1. 阶 码 | 尾数有效位 |
扩展精度
79 78 64 63 0
符号位 | 1. 阶 码 | 尾数有效位 |
2.3.2 浮点数的加/减运算
两数首先均为规格化数,进行规格化浮点数的加减运算需经过5步完成:
(1)对阶操作:小阶向大阶对齐,使阶码相等。
(2)尾数运算:阶码对齐后直接对尾数运算。
(3)结果规格化:对运算结果进行规格化处理(使补码尾数的最高位和尾数符号相反)。如溢出则需右规;如不是规格化时应左规。
(4)舍入操作:丢失位进行0舍1入或恒置1处理。
(5)判断溢出:判断阶码是否溢出,下溢则将运算结果置0(机器0),上溢则中断。
对阶运算(小阶向大阶对齐)
尾数为原码时,尾数右移,符号位不动,最高位补0
尾数为补码时,尾数右移,符号也移位,最高位补符号位。
(1) 求阶差
ΔE = Ex – Ey =
Ex+1
Ey+1
Ex=Ey 已对齐
Ex> Ey
Ex<Ey
y 向 x 看齐
x 向 y 看齐
My 1,
Mx 1,
= 0
> 0
< 0
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论