http://www.learncpp.com/cpp-tutorial/25-floating-point-numbers/ 我已经了解这个最近审查C++。避免舍入误差(具体地浮动)C++
在一般的计算课堂教授往往不会涵盖这些小事情,虽然我们知道舍入误差意味着什么。
有人可以帮助我如何避免舍入误差?
该教程显示了一个示例代码
#include <iomanip>
int main()
{
using namespace std;
cout << setprecision(17);
double dValue = 0.1;
cout << dValue << endl;
}
此输出
0.10000000000000001
默认浮子保持精度的6位数字。因此,当我们重写默认值,并要求更多(在这种情况下,17 !!),我们可能会遇到截断(正如教程中所解释的那样)。 对于双,最高的是16
在一般情况下,如何做好C++程序员避免舍入误差? 你们一直在看数字的二进制表示吗?
谢谢。
设置精度流格式化代码使用 - 与数字的表示方式无关,或在其他代码中使用。 – 2010-08-05 23:45:40