c-加倍时失去精度?

乡亲!我遇到了一个小问题:我正在使用三个double值进行简单加法.结果的精度小于使用的值.

double minutes = 3;
minutes = minutes / (24.0*60.0);  // contains 0.00208333
double hours = 3;
hours = hours / 24.0; // contains 0.125
double days = 3; // contains 3 

double age = days + hours + minutes; // result is 3.12708 

我没有办法避免这种行为.

解决方法:

正如您帖子中的评论所说,计算似乎没有错.

如果您想获得更高的精度,请考虑查找setprecision()

上一篇:设计模式学习总结(一)--面向对象设计七大原则


下一篇:基数排序(Radix Sort)