我正在自学C++,在这个实践问题上,它要求编写能够将PI计算到> 30位的代码.我了解到双/长双精度在我的计算机上都是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;
}
Run Code Online (Sandbox Code Playgroud)
输出为16位,下面列出了pi至30位以进行比较.
3.1415926535897931
3.141592653589793238462643383279
Run Code Online (Sandbox Code Playgroud)
任何提高精确度的建议还是这件事都不重要?或者,如果您认为我应该在这里学习另一课,请随时提供.谢谢!
| 归档时间: |
|
| 查看次数: |
24234 次 |
| 最近记录: |