- 2
- 0
- 约1.08千字
- 约 4页
- 2018-07-04 发布于河南
- 举报
C语言课件:浮点数范围
1.三种存储格式
浮点数的三种类型:单精度、双精度和双精度扩展。 这三种类型的浮点数的存储都由三部分组成:符号位、指数位和小数位组成,不同的是三者指数位和小数位的位数不一样。 IEEE 单精度格式具有24 位有效数字精度,并总共占用32 位。IEEE 双精度格式具有53 位有效数字精度,并总共占用64 位。至于双精度扩展,IEEE规定它至少具有64 位有效数字精度,并总共占用至少79 位。
2.双精度格式
现在,我们仅仅对双精度浮点数,也就是double进行分析,其它的两种可以此类推,不必赘述。 IEEE 双精度格式由三部分组成:52位小数f ;11 位偏置指数e ;以及1 位符号s。 这些字段连续存储在两个32 位字中。如下图所示:
将这两个连续的32 位字按一个64 位字那样进行了编号,其中0:51 位存储52 位的小数f ; 52:62 位存储11 位偏置指数e ;而第63 位存储符号位s。 s为0表示整数,1则为负数。 e[52:62]总共11位表示偏置指数,也就是阶码部分。它是一个无符号数,取值范围是[0,211-1],也就是[0,2047]。当0e2047时,它表示的指数值为e-1023;当它为0时,表示的指数值为-1022;而当e=2047时,它表示无穷大或无意义的数(这个稍后再讨论)。 现在,就剩下最后的小数部分了,也就是
原创力文档

文档评论(0)