早期C语言的浮点数有2种,float和double,C89增加了long double,C语言没有指定浮点数类型使用的长度以及不同浮点数类型之间的差别,这些是和编译器的实现相关的。
比如VC2008,Watcom C/C++里double和long double都是8个字节长,Borland C++,Digital Mars Compiler里double是8个字节,long double是10个字节,GCC,lcc win32里的double是8个字节,long double是12个字节。
一般我们可以假定float的值是double的值的子集,而double的值是long double的值的子集。
|