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