b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

ieee754_ieee754转换工具 _ieee754浮点数

电脑杂谈  发布时间:2017-02-02 03:00:13  来源:网络整理

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 of commercially 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公司的《Numerical Computation 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++ 6.0版本以上的编译器都不支持该类型,long double和double一样,都是64位基本双精度,只能用其它C/C++编译器或汇编语言。

c)浮点运算的准确度要求:加、减、乘、除、平方根、余数、将浮点格式的数舍入为整数值、在不同浮点格式之间转换、在浮点和整数格式之间转换以及比较。

求余和比较运算必须精确无误。其他的每种运算必须向其目标提供精确的结果,除非没有此类结果,或者该结果不满足目标格式。对于后一种情况,运算必须按照下面介绍的规定舍入模式的规则对精确结果进行最低限度的修改,并将经过此类修改的结果提供给运算的目标。

说明:IEEE754没有规定基本算术运算(+、-、×、/ 等)的结果必须精确无误,因为对于IEEE 754的二进制浮点数格式,由于浮点格式长度固定,基本运算的结果几乎不可能精确无误。这里用三位精度的十进制加法来说明:

例1:a = 3.51,b = 0.234,求a+b = ?


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-30023-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...