单精度用float定义,双精度用double定义。
ANSI标准仅规定了double至少要和float一样长,同时规定所有的浮点类型至少能够容纳从-10^37到10^37之间的任意值。
所以,不同的编译器可能会有不同的情况。一般来说,float是是4个字节的,double是8个字节的。
float用4个字节32位二进制表示,单精度数大约有7位十进制有效数字,数值的表示范围约为±(3.4×10^38…3.4×10^38);
double用8个字节64位二进制表示,双精度数大约有16位十进制有效数字,数值的表示范围约为±(1.7×10^308…1.7×10^308);