C 库 - conj() 函数



C 的complexconj() 函数用于通过反转虚部的符号来计算 z(复数)的共轭复数。复数的共轭是指实部相等且虚部大小相等但符号相反的数。

此函数取决于 z(复数)的类型。如果 z 是“float”类型或浮点虚数,我们可以使用conjf()计算共轭,对于 long double 类型,使用conjl(),对于 double 类型,使用conj()

语法

以下是 conj() 函数的 C 库语法 -

double complex conj( double complex z );

参数

此函数接受一个参数 -

  • Z - 它表示我们要计算其共轭的复数。

返回值

此函数返回 z(复数)的共轭复数。

示例 1

以下是用 conj() 计算 z 的共轭的基本 c 程序。

#include <stdio.h>
#include <complex.h>

int main() {
   double real = 3.0;
   double imag = 4.0;

   // Use the CMPLX function to create complex number
   double complex z = CMPLX(real, imag);

   printf("The complex number is: %.2f + %.2fi\n", creal(z), cimag(z));

   // Calculate conjugate
   double complex conjugate = conj(z);

   printf("The conjugate of the complex number is: %.2f + %.2fi\n", creal(conjugate), cimag(conjugate));

   return 0;
}

输出

以下是输出 -

The complex number is: 3.00 + 4.00i
The conjugate of the complex number is: 3.00 + -4.00i

示例 2

让我们看另一个例子,我们使用 conj() 函数计算两个复数之和的共轭。

#include <stdio.h>
#include <complex.h>

int main() {
   double complex z1 = 1.0 + 3.0 * I;
   double complex z2 = 1.0 - 4.0 * I;
   
   printf("Complex numbers: Z1 = %.2f + %.2fi\tZ2 = %.2f %+.2fi\n", creal(z1), cimag(z1), creal(z2), cimag(z2));

   double complex z = z1 + z2;
   printf("The Z: Z1 + Z2 = %.2f %+.2fi\n", creal(z), cimag(z));


   double complex conju= conj(z);
   printf("The conjugate of Z = %.2f %+.2fi\n", creal(conju), cimag(conju));

   return 0;
}

输出

以下是输出 -

Complex numbers: Z1 = 1.00 + 3.00i	Z2 = 1.00 -4.00i
The Z: Z1 + Z2 = 2.00 -1.00i
The conjugate of Z = 2.00 +1.00i

示例 3

以下示例计算一个类型为 long double 的复数的共轭。

#include <stdio.h>
#include <complex.h>

int main(void) {
   long double complex z = 3.0 + -4.0*I;
   
   // Calculate the conjugate
   long double conj = conjl(z);
   
   printf("Complex number: %.2Lf + %.2Lfi\n", creall(z), cimagl(z));
   printf("Conjugate of z: %.2Lf + %.2Lfi\n", creall(conj), cimagl(conj));
   return 0;
}

输出

以下是输出 -

Complex number: 3.00 + -4.00i
Conjugate of z: 3.00 + 0.00i
c_library_complex_h.htm
广告