输出不同精度的PI(程序给出的PI值为 3.14159265358979323846)。

流输入输出 也可以进行 格式控制 , C++ 中是通过流操纵算子来实现的。 流操纵算子 是在头文件 iomanip 中定义的,因此要使用这些流操纵算子,必须包含该头文件。

// 包含流操作算子库
#include <iomanip>

C++ 的 iomanip 库提供了多种流操纵算子,来实现不同的格式控制功能,包括设置域宽设置精度设置和清除格式化标志设置域填充字符在输出流中插入空字符跳过输入流中的空白字符等,下表为一些常用的流操作算子:

流操纵算子

这次主要尝试setbase(b)setprecision(n)setiosflags(long)setw(n)算子。

控制进制基数

对于标准输出流 cout 可以使用 setbase 来设置输出整数的进制基数(只支持8、10、16进制),如:

// 以八进制形式输出整数 n
cout << setbase(8) << n << endl;

也可以直接使用流操纵算子 oct(八进制)、hex(十六进制)和 dec(十进制)直接控制输出整数的进制,如:

// 以十六进制输出整数 n
cout << hex << n << endl;

设置浮点数输出精度

流操纵算子 setprecision 或函数 precision

这是一份关于&pi;的任意精度计算的C++实现源代码.算法是基于二次收敛算法,即AGM(几何平均数)方法,该算法也可应用于计算椭圆积分和以先进的ADI算法实现椭圆偏微分方程. (速度可能优于Mathematica!!!)
用线性表实现 pi 的任意精度求解(内存域内) 先来看一下 pi 的普通求解方法,即根据下面的公式进行求解: pi/2 = 1+1/3+1/3*2/5 + 1/3*2/5*3/7 + 1/3*2/5*3/7*4/9+...... ,进而得出 pi=2*(1+1/3+1/3*2/5 + 1/3*2/5*3/7 + 1/3*2/5*3/7*4/9+...... ) 实现代码如下: #include<iostream> using namespace std; // pi的计算公式: pi/2
double pi = 3.14159265; cout &lt;&lt; pi &lt;&lt; endl; // 默认以6精度,所以输出为 3.14159
1. 3.14 2. 3.14159265358979323846 3. 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679 4. 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679... 5. 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679... 6. 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679... 7. 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679... 8. 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679... 9. 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679... 10. 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679...