第九章 IEEE 754标准.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IEEE 754标准 浮点数的表示方法 把一个数的有效数字和数的范围在计算机的一个存储单元中分别予以表示 数的小数点位置随比例因子的不同而在一定范围内自由浮动 一个十进制数N可以写成      N= 10e×M 一个R进制数N可以写成     ? N=Re×M 阶码和尾数 32位单精度浮点数 浮点数的规格化 例:156.78 =15.678×101 = 1.5678×102 = 0.15678×103=RE×M 规格化表示原则 尾数最高有效位为1,隐藏,并且隐藏在小数点的左边(即:1≤M<2) 32位单精度浮点数规格化表示 x= (-1)s×(1.M)× 2E-127 e=E-127(E=e+127) 64位双精度浮点数规格化表示 x= (-1)s ×(1.M)× 2E-1023 e=E-1023(E=e+1023) 浮点数定义其实就是0.XXXXX * 2^XXXX 零点多少乘以2的多少次方 其中零点多少就是尾数,2的多少次方就是阶码,不管计算机用几位表示阶码,肯定有个表示的范围,一共有负的最大值,负的最小值,正的最大值,正的最小值4种限制 其中负的最小值(符号负,绝对值最大)就是你所问的问题,当一个表示方式中的阶码是负数,而且这个负数小于计算机所能表示的阶码 如以上2的XXX次方中,XXX是负数(绝对值很大),非常小,在数学上这个值就非常接近于零,在计算机上,因为无法表示比这个值更小了,所以就把这个浮点数作为零处理 补充:不用管位数,先看阶码 假设一个10进制的数, 0.9999*10^-9999999999999999999999999, 10的-99999999999999999999999次方,那么这个数是不是很接近0, 不管前面的0.9999是正还是负 对于2进制也一样, 0.1111*2^-111111111111111111111111111111 计算机保存数字的位有限,所能表示最小的数也有范围,当一个表示方式比它所能表示的数更小时,计算机无法表示,就作为0处理,实际上,这个数也很接近0了,主要还是从数学上理解 暂告一段落,前面的东西明白了么? 浮点加法、减法运算 两浮点数进行加法和减法的运算规则 x±y=(Mx2Ex-Ey±My)2Ey, Ex=Ey 完成浮点加减运算的操作过程大体分为四步: 第一步,0操作数检查; 第二步,比较阶码大小并完成对阶; 第三步,尾数进行加或减运算; 第四步,结果规格化并进行舍入处理 浮点加减运算的操作流程 (1)0操作数检查 (2)比较阶码大小并完成对阶 (3)尾数求和运算 (4)结果规格化 (5) 舍入处理 (6)溢出处理 (1)0操作数检查 如果判知两个操作数x或y中有一个数为0, 即可得知运算结果而没有必要再进行后续的一系列操作, 以节省运算时间 (2)比较阶码大小并完成对阶 两浮点数进行加减,首先要看两数的阶码是否相同,即小数点位置是否对齐 若两数阶码相同,表示小数点是对齐的,就可以进行尾数的加减运算 反之,若两数阶码不同,表示小数点位置没有对齐,此时必须使两数的阶码相同,这个过程叫作对阶 对阶 要对阶,首先应求出两数阶码Ex和Ey之差,即 △E = Ex-Ey 若△E=0,表示两数阶码相等,即Ex=Ey; 若△E0,表示ExEy; 若△E0,表示ExEy 当Ex≠Ey时,要通过尾数的移动以改变Ex或Ey,使之相等 对阶操作规定使尾数右移,阶码作相应增加,其数值保持不变 在对阶时,总是使小阶向大阶看齐,即小阶的尾数向右移位(相当于小数点左移), 每右移一位,其阶码加1,直到两数的阶码相等为止, 右移的位数等于阶差△E (3)尾数求和运算 对阶结束后,即可进行尾数的求和运算 不论加法运算还是减法运算,都按加法进行操作 (4)结果规格化 在浮点加减运算时,尾数求和的结果也可以得到01.ф…ф或10.ф…ф,即两符号位不相等, 在浮点运算中,它表明尾数求和结果的绝对值大于1,向左破坏了规格化 此时将尾数运算结果右移以实现规格化表示,称为向右规格化,即尾数右移1位,阶码加1 当尾数不是1.M时须向左规格化 (5) 舍入处理 在对阶或向右规格化时,尾数要向右移位,这样,被右移的尾数的低位部分会被丢掉,从而造成一定误差,因此要进行舍入处理 简单的舍入方法 0舍1入法 恒置1法 在IEEE754标准中,舍入处理提供了四种可选方法 就近舍入(四舍五入) 朝0舍入(截尾) 朝+∞舍入 朝-∞舍入 (6)溢出处理 浮点数的溢出是以其阶码溢出表现出来的 在加、减运算过程中要检查是否产生了溢出 若阶码正常,加(减)运算正常结束 若阶码溢出,则要进行相应的处理 另外对尾数的溢出也需要处理 例 设x=2010×0.11

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档