平民程序 - linghuye's blog

天下风云出我辈,一入江湖岁月催。皇图霸业谈笑中,不胜人生一场醉。提剑跨骑挥鬼雨,白骨如山鸟惊飞。尘事如潮人如水,只笑江湖几人回。

随笔 - 221, 文章 - 0, 评论 - 680, 引用 - 0
数据加载中……

float的格式

float是32位浮点,
Sign Bit S             Biased Exponent E             Packed Mantissa M
1 Bit in position     8 Bits in positions 30-23     23 Bits in positions 22-0
最终值为: (-1)^S  *  2^(E-127)  *  (1 + M/(2^23))
附加规则:
1.若E = 0 且 M = 0,表示值为0,所以有正负两个0.
2.若E = 0 且 M <> 0,表示值为(-1)^S  *  2^(E-127)  *  (M/(2^22)).这种值称作denormal值,VC7内存观察器查看float值,后面跟着DEN就是这个意思.
3.若E = 255 且 M = 0,则表示值为无穷大.
4.若E = 255 且 M <> 0,则表示值为Not-a-Number.若M的最高位为0,则表示值为SNaN.若M的最高位为1,则表示值为QNaN.

posted on 2007-03-20 18:13 linghuye 阅读(1545) 评论(0)  编辑 收藏 引用 所属分类: 编程札记

只有注册用户登录后才能发表评论。