IEEE 754.doc


文档分类:办公文档 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8
文档列表 文档介绍
1、什么是IEEE 754标准?
目前支持二进制浮点数的硬件和软件文档中,几乎都声称其浮点数实现符合IEEE 754标准。那么,什么是IEEE 754标准?
最权威的解释是IEEE754标准本身ANSI/IEEE Std 754-1985《IEEE Standard for Binary Floating-Point Arithmetic》,网上有PDF格式的文件,Google一下,下载即可。标准文本是英文的,总共才23页,有耐心的话可以仔细阅读。这里摘录前言中的一句:
This standard defines a family mercially feasible ways for new systems to perform binary floating-point arithmetic。
其实是句废话,什么也没说。
IEEE 754标准的主要起草者是加州大学伯克利分校数学系教授William Kahan,他帮助Intel公司设计了8087浮点处理器(FPU),并以此为基础形成了IEEE 754标准,Kahan教授也因此获得了1987年的图灵奖。赞一句:IEEE 754浮点格式确实是天才的设计。Kahan教授的主页:/~wkahan/。
看看其它文献怎么说。
2、 IEEE 754标准规定了什么?
以下内容来自Sun公司的《putation Guide-Sun Studio 11》的中文版《数值计算指南》,并加上本人的一点说明。说实话,该中文指南翻译得不太好,例如,round译成“四舍五入”。
IEEE 754 规定:
a) 两种基本浮点格式:单精度和双精度。
IEEE单精度格式具有24位有效数字,并总共占用32 位。IEEE双精度格式具有53位有效数字精度,并总共占用64位。
说明:基本浮点格式是固定格式,相对应的十进制有效数字分别为7位和17位。基本浮点格式对应的C/C++类型为float和double。
b) 两种扩展浮点格式:单精度扩展和双精度扩展。
此标准并未规定扩展格式的精度和大小,但它指定了最小精度和大小。例如,IEEE 双精度扩展格式必须至少具有64位有效数字,并总共占用至少79 位。
说明:虽然IEEE 754标准没有规定具体格式,但是实现者可以选择符合该规定的格式,一旦实现,则为固定格式。例如:x86 FPU是80位扩展精度,而Intel安腾FPU是82位扩展精度,都符合IEEE 754标准的规定。C/C++对于扩展双精度的相应类型是long double,但是,Microsoft Visual C++ ,long double和double一样,都是64位基本双精度,只能用其它C/C++编译器或汇编语言。
c) 浮点运算的准确度要求:加、减、乘、除、平方根、余数、将浮点格式的数舍入为整数值、在不同浮点格式之间转换、在浮点和整数格式之间转换以及比较。
求余和比较运算必须精确无误。其他的每种运算必须向其目标提供精确的结果,除非没有此类结果,或者该结果不满足目标格式。对于后一种情况,运算必须按照下面介绍的规定舍入模式的规则对精确结果进行最低限度的修改,并将经过此类修改的结果提供给运算的目标。
说明:IEEE 754没有规定基本算术运算(+、-、×

IEEE 754 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小75 KB
  • 时间2018-04-07