其他分享
首页 > 其他分享> > c-加倍时失去精度?

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()

标签:addition,c,precision,double
来源: https://codeday.me/bug/20191009/1877757.html