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