Sun Studio 12:C 用户指南

F.2.3 异常值

floatdouble 数被认为包含一个“隐藏的”或隐含的位,从而比不包含该位时的精度高一位。对于 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(全为零)