当前位置:文档之家› 计算机组织与系统结构

计算机组织与系统结构


• 2.2.4 IEEE754浮点数 IEEE754浮点数
1.格式 1.格式
类型
数 符
阶 码
8 11 15
尾数 总位 数
23 52 64 32 64 80
偏置值
7FH(127) 7FH(127) 3FFH(1023) 3FFH(1023) 3FFFH
短浮点数( 短浮点数(单精 1 度) 长浮点数( 长浮点数(双精 1 度) 临时/ 临时/扩展浮点数 1
注意:对于短、长浮点数采用隐含位为1 注意:对于短、长浮点数采用隐含位为1,故与真 采用隐含位为 值的关系如下: 值的关系如下:
表示真值 = (−1) ×1.m × 2
ms
E −偏置值
对于临时/扩展浮点数没有隐含位。 对于临时 扩展浮点数没有隐含位。 扩展浮点数没有隐含位
2.关于IEEE754表示方法的说明 2.关于IEEE754表示方法的说明 关于IEEE754 特殊数据: 特殊数据: 机器零的表示: (1)机器零的表示:全0; 无限大数的阶码为全1 尾数部分全0, 0,符号位 (2)无限大数的阶码为全1,尾数部分全0,符号位 指示正无穷或者负无穷。 指示正无穷或者负无穷。 一般在C/C++中 float对应单精度类型, 一般在C/C++中,float对应单精度类型, C/C++ 对应单精度类型 double对应双精度类型 对应双精度类型。 double对应双精度类型。
2
n
相当于符号位上的1 相当于符号位上的
故移码与其补码数值位相同,符号位相反。 故移码与其补码数值位相同,符号位相反。
3.移码的特点(总结) 3.移码的特点(总结) 移码的特点 符号位: (1)符号位:+:1,-:0; 真值最小; 真值最大; (2)全0时,真值最小;全1时,真值最大; 的表示唯一; (3)0的表示唯一; 与补码的关系(数值,符号) (4)与补码的关系(数值,符号) 关于偏置量的说明: 关于偏置量的说明: 偏置量往往根据移码值的范围来确定,不唯一, 偏置量往往根据移码值的范围来确定,不唯一, 如在IEEE754标准中, 位阶码的偏移量取127 IEEE754标准中 127。 如在IEEE754标准中,8位阶码的偏移量取127。
最小负尾数 × 2
最大阶码
最大正尾数 × 2
0
最大阶码
最大负尾数 × 2
最小阶码
最小正尾数 × 2
最小阶码
问题:
• 最大负数如何表示?
3.规格化浮点数 3.规格化浮点数 目的:为提高浮点数的精度, (1)目的:为提高浮点数的精度,充分利用 尾数的有效位 如0.0001011可表示为 0.0001011可表示为 非规格化) ①0.001011x2-1 (非规格化) ②0.01011x2-2 (非规格化) 非规格化) 规格化) ③0.1011x2-3 (规格化) 形式:尾数最高位必须是一个有效数值, 形式:尾数最高位必须是一个有效数值, 即其绝对值应大于等于(0.5) 即其绝对值应大于等于(0.5)10。
=0,阶码的数值位为全1 =1, 当es=0,阶码的数值位为全1;ms=1,尾 数的数值位为全0 即阶码为最大正数, 数的数值位为全0(即阶码为最大正数,尾 数为绝对值最大的负数) 数为绝对值最大的负数)时,该浮点数为 绝对值最大负数: 绝对值最大负数: 2k −1 X绝对 将十进制数16.5转换成IEEE754 16.5转换成IEEE754标准的短浮 1将十进制数16.5转换成IEEE754标准的短浮 点数表示。 点数表示。
(16.5)10=(10000.1)2=1.00001X24 表示形式: 表示形式:0 10000011 000010……00000
=1, =0,尾数的最高位m =1, 当es=1,ms=0,尾数的最高位m1=1,其 余各位为0 余各位为0时,该浮点数为规格化的最小 正数: 正数: X规格化的最小正数=2-1× 2 −2k 规格化的最小正数大于非规格化的最 小正数。 小正数。
浮点数的典型值(阶码、尾数均为补码表示)
• 2.2.3阶码的移码表示法 2.2.3阶码的移码表示法
注意:浮点数尾数为0 注意:浮点数尾数为0或阶码值比能
在机器中表示的最小值还小时, 在机器中表示的最小值还小时,认为该 数是机器零。 数是机器零。
2. 表示范围
=0, =0, 当es=0,ms=0,阶码和尾数的数值位各位 全为1 即阶码和尾数都为最大正数) 全为1(即阶码和尾数都为最大正数)时,该 浮点数为最大正数: 浮点数为最大正数: 2 k −1 - n) × =(1X最大正数=(1-2 2 =1, =0,尾数的最低位m =1, 当es=1,ms=0,尾数的最低位mn=1,其余各 位为0 即阶码为绝对值最大的负数, 位为0(即阶码为绝对值最大的负数,尾数为 最小正数) 该浮点数为最小正数: 最小正数)时,该浮点数为最小正数: −2 k X最小正数=2-n× 2
在计算机中阶码一般用补码或移码表示。 在计算机中阶码一般用补码或移码表示。移码 就是在真值X上加一个常数(偏置值),相当于X ),相当于 就是在真值X上加一个常数(偏置值),相当于X 在数轴上向正方向平移了一段距离,这就是“ 在数轴上向正方向平移了一段距离,这就是“移 一词的来由。 码”一词的来由。 1.表示方法 1.表示方法 X ]移 = 2n +X (-2n ≤ X<2n ) 定义移码为: 定义移码为: [ 偏置值+X 即 [X]移=偏置值+X 对于字长8位的定点整数,偏置值为2 对于字长8位的定点整数,偏置值为27。
2.2.2 浮点表示法
1. 表示形式
小数点的位置根据需要而浮动, 小数点的位置根据需要而浮动,这就 是浮点数。例如: 是浮点数。例如: N=M× N=M×rE 式中: 为浮点数阶码的底, 式中:r为浮点数阶码的底,与尾数的 基数相同,通常r= r=2 基数相同,通常r=2。E和M都是带符号数 叫做阶码, 叫做尾数。 ,E叫做阶码,M叫做尾数。在大多数计算 机中,尾数为纯小数 纯小数, 机中,尾数为纯小数,常用原码或补码表 阶码为纯整数 纯整数, 示;阶码为纯整数,常用移码或补码表示 。
尾数用补码表示时, (3)在尾数用补码表示时,规格化浮点数应满 =1), 足尾数最高数位与符号位不同(ms⊕m1 =1), 尾数最高数位与符号位不同( 即当1/2≤M<1时,应有0.1xx…x形式,当 即当1/2≤ 应有0.1xx…x形式, 1/2 0.1xx…x形式 -1≤M<-1/2时,应有1.0xx…x形式。 1/2时 应有1.0xx…x形式。 1.0xx…x形式 需要注意的是当M=-1/2,对于原码来说, 需要注意的是当M=-1/2,对于原码来说, M= 是规格化数,而对于补码来说,不是规格化数。 是规格化数,而对于补码来说,不是规格化数。
2.与补码的关系 2.与补码的关系 由补码、移码的公式可以得到以下关系式: 由补码、移码的公式可以得到以下关系式:
[ X ]移
2n +X=2n + [ X ]补 = n n+1 n n 2 +X=(2 +X) − 2 = [ X ]补 − 2
0 ≤ X<2n -2 ≤ X<0
n
由于
4+127
2将IEEE754标准的短浮点数 IEEE754标准的短浮点数 010010……00000转换成十进制数 00000转换成十进制数 1 10000010 010010 00000
−2n
真值区间 移码区间
2n − 1
2n
2n+1 − 1
例1:X=1011101 : [X]移= 27 +X=10000000+1011101 移 =11011101 [X]补=01011101 补 例2:X=-1011101 : [X]移= 27 +X=10000000-1011101 移 =00100011 [X]补=10100011 补
3.溢出的概念 3.溢出的概念
当发生“下溢” 处理; 当发生“下溢”时,均被当做机器0处理; 均被当做机器 处理 当发生“溢出” 当发生“溢出”时,计算机将暂时中断运算 操作,去进行溢出处理。 操作,去进行溢出处理。
说明: 说明:
• 对于只能处理定点数的计算机称为定点计算 机。 • 当处理的数不是纯小数或纯整数时,需要设 当处理的数不是纯小数或纯整数时, 定比例因子, 定比例因子,把原始数据缩小成定点小数或 扩大为定点整数。 扩大为定点整数。 • 比例因子选取比较重要,确保初始数据、中 比例因子选取比较重要,确保初始数据、 间结果及最后结果在表示范围内而不溢出。 间结果及最后结果在表示范围内而不溢出。
(2)尾数用原码表示的规格化形式 ①尾数为正数,其形式为:0.1XX….X 尾数为正数,其形式为: 最大: 真值< 最大:0.111…1 真值< 1 最小: 真值= 最小:0.100…0 真值= 1/2 尾数为负数,其形式为: ②尾数为负数,其形式为:1.1XX….X 最大: 真值= 最大:1.100…0 真值= -1/2 最小: 真值> 最小:1.111…1 真值> -1
浮点数的一般格式
1位 es k位 e 阶码部分E 1位 ms n位 m 尾数部分M
图2-5 浮点数的一般格式
浮点数的底是隐含的, 浮点数的底是隐含的,在整个机器 数中不出现。阶码的符号位为e 数中不出现。阶码的符号位为es,阶码的 大小反映了在数N中小数点的实际位置; 大小反映了在数N中小数点的实际位置; 尾数的符号位为m 尾数的符号位为ms,它是整个浮点数的符 号位,表示了该浮点数的正负。 号位,表示了该浮点数的正负。
相关主题