📅  最后修改于: 2023-12-03 15:29:54.391000             🧑  作者: Mango
C++标准库中提供了一套复数(complex)类型及其运算的库,包含在头文件<complex>
中。复数类型可以直接使用算术运算符进行加、减、乘、除等运算,并支持许多常见的数学函数,例如平方根函数,正弦函数等等。
C++标准库中定义了两个复数类型,分别是complex<float>
和complex<double>
。这两个类型分别用于表示单精度和双精度浮点数的复数。它们都有两个相同的成员函数:
real()
:获取复数的实部。imag()
:获取复数的虚部。例如:
complex<double> z(3.0, 4.0);
cout << "z = " << z << endl;
cout << "real part: " << z.real() << endl;
cout << "imaginary part: " << z.imag() << endl;
输出结果为:
z = (3,4)
real part: 3
imaginary part: 4
C++中,complex
类型可以使用算术运算符进行加、减、乘、除等运算。例如:
complex<double> z1(1.0, 2.0);
complex<double> z2(3.0, 4.0);
cout << "z1 + z2 = " << z1 + z2 << endl;
cout << "z1 - z2 = " << z1 - z2 << endl;
cout << "z1 * z2 = " << z1 * z2 << endl;
cout << "z1 / z2 = " << z1 / z2 << endl;
输出结果为:
z1 + z2 = (4,6)
z1 - z2 = (-2,-2)
z1 * z2 = (-5,10)
z1 / z2 = (0.44,0.08)
C++的复数库中支持许多常见的数学函数,包括:
abs()
:获取复数的模长,即总体长度。arg()
:获取复数的辐角,即与实轴的夹角,单位为弧度。conj()
:获取复数的共轭,即将虚部置为相反数。sqrt()
:获取复数的平方根。例如:
complex<double> z(3.0, 4.0);
cout << "abs(z) = " << abs(z) << endl;
cout << "arg(z) = " << arg(z) << "rad" << endl;
cout << "conj(z) = " << conj(z) << endl;
cout << "sqrt(z) = " << sqrt(z) << endl;
输出结果为:
abs(z) = 5
arg(z) = 0.93rad
conj(z) = (3,-4)
sqrt(z) = (2,1)
C++的复数库提供了一个方便的复数类型及其运算库,可以方便地进行复数运算和数学函数计算。需要注意的是,使用complex
时需要包含<complex>
头文件。