3
對不起,我有一個非常基本的問題。如何在C++中將精度設置爲100位數?
這是一個非常簡單的計算,一個整數(22)除以另一個整數(7)。我希望C++代碼在代碼和輸出值的實際計算中精確使用100位精度。使用楓葉程序,我得到
restart;
Digits:=100;
evalf(22/7);
而我得到的答覆是,
3.142857142857142857142857142857142857142857142857142857142857142857142857142857142857142857142857143
但是我用下面的C++代碼,並得到一些不同的答案。這只是在幾個實際數字之後增加零,這完全是錯誤的。以下是我的C++代碼。
#include <iostream>
using namespace std;
int main()
{
cout << fixed;
cout.precision(100);
cout << "22/7 = " << 22/(double)(7) << endl;
return 0;
}
C++雙打只能準確地保存14位數字。這與顯示精度無關。 –
嘗試搜索任意精度庫。 –
[浮點不準確示例]可能重複(http://stackoverflow.com/questions/2100490/floating-point-inaccuracy-examples) – dandan78