C 库 - cimag() 函数
C complex 库中的 cimag() 函数通常用于提取复数的虚部。复数由两部分组成:实部和虚部。
如果虚部是"float"类型,我们可以使用 cimagf() 获取虚部;对于长整型 double,则使用 cimagl()。
语法
以下是 cimag() 函数的 C 库语法 -
double cimag( double complex z )
参数
此函数接受一个参数 -
-
Z - 它表示一个复数。
返回值
此函数返回复数 (z) 的虚部。
示例 1
以下是一段基本的 C 语言程序,演示如何使用 cimag() 获取复数 (z) 的虚部。
#include <stdio.h> #include <complex.h> int main(void){ double complex z = 1.0 + 2.0 * I; printf("z 的虚部:%.1fi", cimag(z)); }
输出
以下是输出 -
z 的虚部:2.0i
示例 2
我们来看另一个示例,使用 cimag() 函数获取生成的复数的虚部。
#include <stdio.h> #include <complex.h> int main() { double real = 5.0; double imag = 6.0; // 使用 CMPLX 函数创建复数 double complex z = CMPLX(real, imag); printf("复数为:%.2f + %.2fi", creal(z), cimag(z)); // 获取像部分 // 使用 cimag() printf("z 的虚部:%.1fi", cimag(z)); return 0; }
输出
以下是输出 -
复数为:5.00 + 6.00i z 的虚部:6.0i
示例 3
以下示例使用 cimag() 函数在两个复数 (z) 相加后提取虚部。
#include <stdio.h> #include <complex.h> int main() { double real1 = 2.0, imag1 = 3.0; double real2 = 4.0, imag2 = 5.0; // 使用 CMPLX 函数 double complex z1 = CMPLX(real1, imag1); double complex z2 = CMPLX(real2, imag2); // 将两个复数相加 double complex sum = z1 + z2; // 显示运算结果 printf("结果 z: %.2f + %.2fi", creal(sum), cimag(sum)); printf("结果 z 的虚部: %.2fi", cimag(sum)); return 0; }
输出
以下是输出 -
结果 z: 6.00 + 8.00i 结果 z 的虚部: 8.00i