精度相比
可通过如下的示例看出,在重复进行计算时,精度差异开始显现: float a = 1.f / 81;
float b = 0;
for (int i = 0; i < 729; ++ i)
b += a;
printf("%.7g\n", b); // prints 9.000023
double a = 1.0 / 81;
double b = 0;
for (int i = 0; i < 729; ++ i)
b += a;
printf("%.15g\n", b); // prints 8.99999999999996
尽管如此, 上限两者上限不同,
所以使用 选择而关于两者的选择,《C++ Primer》 是这样描述的:
鉴于 相关资源 |
C++ float vs double
猜你喜欢
转载自www.cnblogs.com/Wayou/p/double_and_float_in_cpp.html
今日推荐
周排行