📅  最后修改于: 2023-12-03 15:08:10.178000             🧑  作者: Mango
复数是由实数和虚数构成的数,一般写成 $a + bi$ 的形式,其中 $a$ 和 $b$ 都是实数,而 $i$ 是单位虚数,满足 $i^2 = -1$。
通常把实数部分称为复数的实部,虚数部分称为复数的虚部。当复数的虚部为 $0$ 时,它就是一个实数。
在程序中,可以使用结构体或类来表示复数。对于一个复数 $z = a + bi$,可以定义一个 Complex
类,包含实数部分和虚数部分的成员变量,以及实现加、减、乘、除等基本运算的成员函数。
class Complex {
public:
double real; // 实数部分
double imag; // 虚数部分
Complex(double r = 0, double i = 0): real(r), imag(i) {}
Complex operator +(const Complex& other) const {
return Complex(real + other.real, imag + other.imag);
}
Complex operator -(const Complex& other) const {
return Complex(real - other.real, imag - other.imag);
}
Complex operator *(const Complex& other) const {
return Complex(real * other.real - imag * other.imag,
real * other.imag + imag * other.real);
}
Complex operator /(const Complex& other) const {
double denom = other.real * other.real + other.imag * other.imag;
return Complex((real * other.real + imag * other.imag) / denom,
(imag * other.real - real * other.imag) / denom);
}
};
通过重载运算符,可以方便地对复数进行加、减、乘、除、取共轭等运算。这些运算的具体实现可以参考上面的代码片段。
复数在程序中的应用非常广泛,例如:
复数是由实数和虚数构成的数,可以表示为 $a + bi$ 的形式。在程序中可以用结构体或类来表示复数,通过重载运算符可以实现复数的加、减、乘、除等运算。复数在处理图像、计算物理量和数值计算等方面有广泛的应用。