我正在自学 C++,在这个练习题上,它要求编写可以将 PI 计算到 30 位以上的代码。我了解到 double / long double 在我的计算机上都是 16 位精确的。
我认为这个问题的教训是能够计算超出可用精度的精度。因此,我该怎么做?是否可以?
我现在计算 Pi 的代码是
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <iomanip>
using namespace std;
int main(){
double pi;
pi = 4*atan(1.0);
cout<<setprecision(30)<<pi;
return 0;
}
输出为 16 位,下面列出了 pi 到 30 位以供比较。
3.1415926535897931
3.141592653589793238462643383279
有什么提高精度的建议吗?或者这永远都不重要了?或者,如果您认为我应该在这里学习其他课程,请随时提供。谢谢!