浮点数
double
double就是小数,浮点数范围是 2.22507e-308~1.79769e+308
(e表示科学计数法),但是精度不高,只有15、16位精度。什么意思呢?就是存200000000000000000000.0可以,但是存212345678901234567890.0就存得不准确
我们可以用printf来控制输出几个小数
double a=200000000000000000000.0;
double b=212345678901234567890.0;
printf("%.1f\n",a);//200000000000000000000.0
printf("%.1f\n",b);//212345678901234565120.0
// ↑到这里精度就不够了
float
float就是较小的double
double
名称是 双精度浮点数 占8字节float
名称是 浮点数 占4字节
float的精度只有6、7位,那为什么不用double呢?