简单的说,float型数据是指用科学计数法储存的数据。
在内存中,float型数据的储存分两部分:第一部分:0.123456(六位小数,小于1),第二部分:10^n(控制小数点的位置)。
这种储存数据的方法使float型数据有一下特点:
1、可以储存小数
2、只有六位有效数字(因此float不可能储存所有的数,比如0.1234567,7会消失,或者12345678,7和8会消失)。
可以理解为float型数据不是精确的数据,有时只是个大约,不过6位有效数字对一般问题精度够用了。
需要精度更高的数据,需要用double型。
double型数据储存方式与float相同,只是精度和范围不一样。
精度 | 范围 | |
float | 6~7位有效数字(十进制的) | -3.40E+38 ~ +3.40E+38 |
double | 15~16位有效数字(十进制) | 1.79E+308 ~ +1.79E+308 |
可以根据计算精度和范围的需要选择合适的数据类型。当然,double型比float型占用内存更多,运算也慢一些。