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

ieee754_ieee754转换工具 _ieee754浮点数(4)

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

7、是否该使用十进制浮点数?

Kahan教授的看法:一定要使用十进制浮点数,以避免人为错误。也就是这种错误:double d = 0.1;实际上,d≠0.1。

IBM公司的看法:在经济、金融和与人相关的程序中,使用十进制浮点数。但是,由于没有硬件支持,用软件实现的十进制浮点计算比硬件实现的二进制浮点计算要慢100-1000倍。由于被IEEE 754R所采纳,IBM公司将在下一代Power芯片中实现十进制FPU。()

8、进一步阅读建议

本 文讨论的是二进制浮点数的表示精度问题,对于计算精度,可以阅读David Goldberg的经典文章《What Every Computer Scientist Should Know About Floating-Point Arithmetic》,别以为“Scientist”是什么高级玩意儿,在这里是“初学者”,《数值计算指南》把该文作为附录。

总结

精确是偶然的,误差是必然的。如果做数值算法,惟一能做的就是误差不积累,其它的就不要奢望了。

-----------------------------------------

IEEE754代码标准表示法为便于软件的移植,浮点数的表示格式应该有统一标准(定义)。1985年IEEE(Institute of Electrical and Electronics Engineers)提出了IEEE754标准。该标准规定基数为2,阶码E用移码表示,尾数M用原码表示,根据原码的规格化方法,最高数字位总是1,该标准将这个1缺省存储,使得尾数表示范围比实际存储的多一位。实数 的IEEE754标准的浮点数格式为:具体有三种形式:IEEE754三种浮点数的格式参数

对于阶码为0或为255(2047)的情况,IEEE有特殊的规定:如果E是0 并且M是0,这个数±0(和符号位相关) 如果E= 2 1 并且M是0,这个数是 ±无穷大(同样和符号位相关) 如果E= 2 1 并且M非0,这个数表示为不是一个数(NaN)。标准浮点数的存储在尾数中隐含存储着一个1,因此在计算尾数的真值时比一般形式要多一个整数1。对于阶码E的存储形式因为是127的偏移,所以在计算其移码时与人们熟悉的128偏移不一样,正数的值比用128偏移求得的少1,负数的值多1,为避免计算错误,方便理解,常将E当成二进制真值进行存储。例如:将数值-0.5按IEEE754单精度格式存储,先将-0.5换成二进制并写成标准形式:-0.5(10进制)=-0.1(2进制)=-1.0×2-1(2进制,-1是指数),这里s=1,M为全0,E-127=-1,E=126(10进制)=01111110(2进制),则存储形式为:1 01111110 000000000000000000000000=BF000000(16进制)这里不同的下标代表不同的进制。从二进制到浮点数的计算公式F=1.M(二进制)在单精度时:V=(-1)^s*2^(E-127)*F在双精度时:V=(-1)^s*2^(E-1023)*F


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

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

    每日福利
    热点图片
    拼命载入中...