float 和 double 数被认为包含一个“隐藏的”或隐含的位,从而比不包含该位时的精度高一位。对于 long double,前导位为隐式 (SPARC) 或显式 (x86);该位对于正规数为 1,对于非正规数为 0。
表 F–10 float 表示法
正规数 (0<e<255): |
(-1)符号2 (指数- 127)1.f |
非正规数 (e=0, f!=0): |
(-1)符号2 (-126)0.f |
零 (e=0, f=0): |
(-1)符号0.0 |
信号 NaN |
s=u,e=255(max);f=.0uuu-uu;至少一个位必须为非零 |
静态 NaN |
s=u,e=255(max);f=.1uuu-uu |
无穷 |
s=u,e=255(max);f=.0000-00(全为零) |
表 F–11 double 表示法
正规数 (0<e<2047): |
(-1)符号2 (指数- 1023)1.f |
非正规数 (e=0, f!=0): |
(-1)符号2 (-1022)0.f |
零 (e=0, f=0): |
(-1)符号0.0 |
信号 NaN |
s=u,e=2047(max);f=.0uuu-uu;至少一个位必须为非零 |
静态 NaN |
s=u,e=2047(max);f=.1uuu-uu |
无穷 |
s=u,e=2047(max);f=.0000-00(全为零) |
表 F–12 long double 表示法
正规数 (0<e<32767): |
(-1)符号2 (指数- 16383)1.f |
非正规数 (e=0, f!=0): |
(-1)符号2 (-16382)0.f |
零 (e=0, f=0): |
(-1)符号0.0 |
信号 NaN |
s=u,e=32767(max);f=.0uuu-uu;至少一个位必须为非零 |
静态 NaN |
s=u,e=32767(max);f=.1uuu-uu |
无穷 |
s=u,e=32767(max);f=.0000-00(全为零) |