添加双打时精度会下降?

XQD*_*Dev 1 c++ precision double addition

乡亲!我遇到了一个小问题:我正在使用三个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 
Run Code Online (Sandbox Code Playgroud)

我发现无法避免这种行为.

Chr*_*aya 5

计算结果似乎没什么错,就像你帖子上的评论所说的那样.

如果你想看到更精确的考虑查找setprecision()