08讲(浮点运算与浮点运算器)2006-06-29.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
08讲(浮点运算与浮点运算器)2006-06-29

2.6 浮点运算方法和浮点运算器 浮点数的运算包括了阶和尾数两部分的运算, 它们的运算可以使用任一种相应的定点运算进行。 2.6.1 浮点加减法运算;1.对阶---使两个浮点数阶码取得一致的过程。 1)作用:对齐小数点。 2)原则:小阶向大阶看齐。 若ΔE0,将Mx右移,每右移一位, ΔE+1→ΔE,直到ΔE =0为止。 3) 方法: ①利用加法线路实现: 求阶差ΔE=Ex-Ey 若ΔE0,将My右移,每右移一位, ΔE-1→ΔE,直到ΔE =0为止; ②利用比较线路实现。 ③定点机上的浮点运算,用程序实现对阶。 ;2.取大阶Max(Ex,Ey),尾数相加减。 3.结果规格化(以双符号位补码为例) 1)右规: ①条件:运算结果两尾符不相同时, 即N =S0’⊕S0=1 01.×××…… 或者 10.×××…… ②方法:尾数右移,阶码加1,即Max(Ex,Ey)+1。 可以证明:浮点加减运算右规的次数最多是一次。 ;2)左规 ①条件:结果非零且为正,尾数最高位M1=0,或结果为负,尾数最高位M1=1时, 11.111×××…… 00.00×××…… ②方法:尾数左移,阶码减1。 尾数为全0,不进行规格化。 ;肝药逢妮鸳淤服捧情托苇瓶冲幼臀暇隧除搞喧住涪农你抑纽捣波找疤喻陨08讲(浮点运算与浮点运算器)2006-06-2908讲(浮点运算与浮点运算器)2006-06-29;4. 舍入 尾数右移时,为减少误差,需进行舍入处理。 1) 什么叫舍入? 根据一定规则,将数的最低位或低位若干位舍去,而对保留位的数进行修正,称为舍入。 2)对舍入方法的要求: ①单次舍入引起的误差不超过保留数最低位的位权 ②多次舍入不造成误差积累。;3)常用的舍入法: ①“0舍1入”法: 对于补码的负数就是1舍0入 凡舍去部分的最高位为1,则在保留数的最低位加1。 凡舍去部分的最高位为0,则不必修正。 例2.55:用“0舍1入”法舍入,保留5位(包括一位符号位) [X]原=1.1010011→1.1010 [X]原=1.1010101→1.1011 [Y]补=1.1010100→1.1010 [Y]补=1.1010010→1.1011 优点: 舍入引起的误差小。 缺点: “加1入时”需多做一次运算----费时,并可能引起右规的操作。 ;②“恒置1”舍入法: 只要有低位数字丢失,则在保留数的最低位置1。 例2.56:用“恒置1”法舍入,保留5位(包括一位符号位) [X]原=1.1010011→1.1011 [Y]补=1.1010100→1.1011 优点:舍入处理不用作加法运算,速度快。 缺点:单次或很少有限次舍入所产生的误差比较大。 ③IEEE754标准 提供四种可选的舍入处理法: 就近舍入,朝0舍入,朝+∞舍入,朝-∞舍入;5. 溢出及其处理 若结果的阶正上溢,则将溢出标志置1,通知控制部件,转中断处理或停机。 若结果下溢,置0 ;例2.57 设二进制数x=2–010×0 y=2–011×(–0,阶6位(包括3位阶符),尾数10位(包括2位尾符),用补码浮点运算求x+y的值。 解:从给定条件得到2个操作数浮点表示的机器数为: [x]浮=111 110,00 [y]浮=111 101,11 (1) 求阶差并对阶 [ΔE]补=[Ex]补+[–Ey]补=111 110+000 011=000 001 即ΔE=1,y的阶码小,应将My右移一位,Ey加1。 [y]浮=111 110,11(1) 上式中(1)表示My右移一位后移出的最低位尾数。 ;(2)将对阶后的尾数相加 00. + 11.1 00.1 (3)规格化处理并舍入 运算结果尾数不是规格化数,此处应执行左规处理,尾数左移3位,阶码减3,用加二进制数[–000 011]补(111 101),即 阶码:111 110+111 101=111 011 [x+y]浮=111 011,00. (4)溢出检查 由于阶符为111,因此无溢出。 最终的结果为x+y=2–101×0.;2. 6. 2 浮点乘除法运算 1.浮点乘法运算 ;浮点乘法运算包括以下四个步骤: (1)对被乘数和乘数判零,若有一数为零,则乘积为零,无需运算。 (2) 阶码相加(阶码用移码) [Ex+Ey]移=[Ex]移+[Ey]补=2n+[Ex+Ey]移 (mod 2n) [Ex –Ey]移=[Ex]移+[–Ey]补 (mod 2n) 移码双符

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档