📜  C++中的复数|套装2(1)

📅  最后修改于: 2023-12-03 15:29:54.391000             🧑  作者: Mango

C++中的复数|套装2

简介

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>头文件。