float:浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。此表示形式为 float 类型提供了一个大约在 -3.4E+38 和 3.4E+38 之间的范围。
double(双精度浮点型)是计算机使用的一种资料型别。它可以表示十进制的15或16位有效数字,负值取值范围为 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范围为 4.94065645841246544E-324 到 1.797693E+308。
double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多。
扩展资料
如果存储比精度更重要,请考虑对浮点变量使用 float 类型。相反,如果精度是最重要的条件,则使用 double 类型。
浮点变量可以提升为更大基数的类型(从 float 类型到 double 类型)。当对浮点变量执行算术时,通常会出现提升。此算术始终以与具有最高精度的变量一样高的精度执行。例如,请考虑下列类型声明:
float f_short;double f_long;long double f_longer;f_short = f_short * f_long;
在前面的示例中,变量f_short提升到类型 double 并且与f_long相乘;然后,结果舍入到类型 float,然后赋给f_short。
在以下示例中(使用前面示例中的声明),将以浮点(32 位)精度对变量执行算术;结果随后将提升到 double 类型:
f_longer = f_short * f_short;
double f_long;
long double f_longer;
f_short = f_short * f_long;
在前面的示例中,变量f_short提升到类型 double 并且与f_long相乘;然后,结果舍入到类型 float,然后赋给f_short。
在以下示例中(使用前面示例中的声明),将以浮点(32 位)精度对变量执行算术;结果随后将提升到 double 类型:
f_longer = f_short * f_short;
参考资料:百度百科-float
参考资料:百度百科-double