IEEE754 详点


5.浮点数的几种特殊情况

(1)0的表示 
对于阶码为0或255的情况,IEEE754标准有特别的规定: 
如果 阶码E 是0 并且尾数M 是0,则这个数的真值为±0(正负号和数符位有关)。

因此+0的机器码为:0 00000000 000 0000 0000 0000 0000。 
-0的机器码为:1 00000000 000 0000 0000 0000 0000。

(2) + 的表示 
如果 阶码E = 255 并且尾数M全是0,则这个数的真值为±∞(同样和符号位有关)。 
因此+∞的机器码为:0 11111111 000 0000 0000 0000 0000。 
-∞的机器吗为:1 11111111 000 0000 0000 0000 0000。

(3)NaN(Not a Number) 
如果 E = 255 并且 M 不是0,则这不是一个数(NaN)。

6.浮点数的精度和数值范围

6.1浮点数的数值范围

根据上面的探讨,浮点数可以表示-∞到+∞,这只是一种特殊情况,显然不是我们想要的数值范围。

以32位单精度浮点数为例,阶码E由8位表示,取值范围为0-255,去除0和255这两种特殊情况,那么指数e的取值范围就是1-127=-126到254-127=127。

(1)最大正数 
因此单精度浮点数最大正数值的符号位S=0,阶码E=254,指数e=254-127=127,尾数M=111 1111 1111 1111 1111 1111,其机器码为:0 11111110 111 1111 1111 1111 1111 1111。

那么最大正数值: 

PosMax=(1)S×1.M×2e=+(1.11111111111111111111111)×21273.402823e+38

这是一个很大的数。

(2)最小正数 
最小正数符号位S=0,阶码E=1,指数e=1-127=-126,尾数M=0,其机器码为0 00000001 000 0000 0000 0000 0000 0000。

那么最小正数为: 

PosMin=(1)S×1.M×2e=+(1.0)×21261.175494e38

这是一个相当小的数。几乎可以近似等于0。当阶码E=0,指数为-127时,IEEE754就是这么规定 1.0×2127 近似为0的,事实上,它并不等于0。

(3)最大负数 
最大负数符号位S=1,阶码E=1,指数e=1-127==-126,尾数M=0,机器码与最小正数的符号位相反,其他均相同,为:1 00000001 000 0000 0000 0000 0000 0000。

最大负数等于: 

NegMax=(1)S×1.M×2e=(1.0)×21261.175494e38

(4)最小负数 
符号位S=0,阶码E=254,指数e=254-127=127,尾数M=111 1111 1111 1111 1111 1111,其机器码为:1 11111110 111 1111 1111 1111 1111 1111。

计算得: 

NegMin=(1)S×1.M×2e=+(1.11111111111111111111111)×2127=3.402823e+38

6.2浮点数的精度

说道浮点数的精度,先给精度下一个定义。浮点数的精度是指浮点数的小数位所能表达的位数。

阶码二进制位数决定浮点数的表示范围,尾数二进制位数表示浮点数的精度。以32位浮点数为例,尾数域有23位。那么浮点数以二进制表示的话精度是23位,将0.000 0000 0000 0000 0000 0001转化为十进制等于 1223=0.00000011920928955078125 。所以,以十进制的精度为6位。

64位双精度浮点数的尾数域52位,同理可得,双精度浮点数的十进制的精度为 1252=2.2204460492503130808472633361816e16 ,所以十进制的双精度浮点数的精度为15位。


转载自:http://blog.csdn.net/k346k346/article/details/50487127

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值