根据需要定义,一般反正定义double的比较多。float和double的范围是由指数的位数来决定的。float的指数位有8位,而double的指数位有11位,分布如下:float:1bit(符号位) 8bits(指数位) 23bits(尾数位)double:1bit(符号位) 11bits(指数位) 52bits(尾数位) 于是,float的指数范围为-127~+128,而double的指数范围为-1023~+1024,并且指数位是按补码的形式来划分的。 其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。 float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38;double的范围为-2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308。常用数据类型有以下几种(32位机):char 1字节 short 2字节 int 4字节 long 4字节 long long 8字节 float 4字节 double 5字节 long double 12字节
建议不要考虑float变量的使用了。float有效数字6-7位,还不如int类型表示的数据有效性高double 有效数字15-16位float占四个字节,double占8字节,在表示浮点数(小数)时double精度要高的很多。
一般用float就可以满足要求,float和double都用来定义浮点数,也就是小数,两者就是有效位数不同,float为7-8位,double是15-16位,看你需要什么精确度的数了~ 再不清楚的话,就随便找个数,分别以float和double格式输出,看看输出的数有什么区别就懂了~ 追问 保留两位小数之类的用float吗