学校首页  教务选课  本站首页  计算中心简介  部门工作  对外交流  C语言学习  大学计算机  PAT考试  咨询与投诉 
 首页 > C语言学习 > C语言学习讨论 > 正文 更多C语言学习讨论
浮点数运算中的对阶问题与精度损失

2012年10月29日13:21  来源:百度百科  访问量:16454

本文来源:百度百科 

  两浮点数进行加减,首先看两数的阶码是否相同,即小数点位置是否对齐。若两数阶码相同,表示小数点是对齐的,就可以进行尾数相加减,反之,此时需要使两数的阶码相同,这个过程叫做对阶

  所谓对阶是指将两个进行运算的浮点数的阶码对齐的操作。对阶的目的是为使两个浮点数的尾数能够进行加减运算。因为,当进行Mx×2Ex与My×2Ey加减运算时,只有使两浮点数的指数值部分相同,才能将相同的指数值作为公因数提出来,然后进行尾数的加减运算。

  对阶的具体方法是:首先求出两浮点数阶码的差,即⊿E=Ex-Ey,将小阶码加上⊿E,使之与大阶码相等,同时将小阶码对应的浮点数的尾数右移相应位数,以保证该浮点数的值不变。

  几点注意:
  (1)对阶的原则是小阶对大阶,之所以这样做是因为若大阶对小阶,则尾数的数值部分的高位需移出,而小阶对大阶移出的是尾数的数值部分的低位,这样损失的精度更小。
  (2)若⊿E=0,说明两浮点数的阶码已经相同,无需再做对阶操作了。
  (3)采用补码表示的尾数右移时,符号位保持不变。
  (4)由于尾数右移时是将最低位移出,会损失一定的精度,为减少误差,可先保留若干移出的位,供以后舍入处理用。


 前一条:第一门编程语言选谁? (2012-10-29)
 后一条:C语言中return和exit的区别 (2012-11-24)
相关报道
·C/C++ 误区一:void main() (2011-05-19)
·C语言程序设计上机练习技巧、学习方法与注意事项 (2011-04-20)
·为什么在自己的计算机上程序可以运行,传到系统却说编译有错?——系统对C程… (2011-12-19)
·为什么在自己的计算机上程序的运行结果是对的,但传到系统却未得满分甚至是0… (2011-12-16)
·为什么同一程序使用不同的帐号上传到系统后得分不一样? (2011-12-16)
·第一门编程语言选谁? (2012-10-29)

 

◆ MOOC+SPOC

C语言程序设计MOOC
Office高级应用MOOC
大学计算机MOOC(56学时)
大学计算机MOOC(32学时)

◆ 英语工具(*=机房开放)

离线词典:有道词典(绿色版)
离线翻译:金山快译(绿色版)
* 谷歌翻译
* 百度词典/翻译/论文写作助手
* 金山词霸/翻译/写作批改
必应词典/翻译
有道词典/翻译/简历助手

◆ 重要公告

2023-2024学年第2学期《Offi…
第三届“成都信息工程大学团…
20232学期非计算机类《C语言…
第二届成都信息工程大学新生…
第十五届蓝桥杯全国软件和信…
20231学期非计算机类《C语言…
20222学期非计算机类《C语言…
2022-2023第2学期《Office高…
20221学期非计算机类《C语言…
2021-2022第二学期《Office…

◆ 校园热线

教学平台 数字图书 招生就业
学生事务 心灵之约 邮件服务
后勤管理
四川·成都市西南航空港经济开发区学府路一段24号  邮编:610225
学校值班电话:028-85966502     联系计算中心:电话028-85966005  电子邮件  留言
Copyright©成都信息工程大学计算中心 2008-2011  建议使用IE5.5,1024*768以上浏览