- C 标准库
- C 库 - 首页
- C 库 - <assert.h>
- C 库 - <complex.h>
- C 库 - <ctype.h>
- C 库 - <errno.h>
- C 库 - <fenv.h>
- C 库 - <float.h>
- C 库 - <inttypes.h>
- C 库 - <iso646.h>
- C 库 - <limits.h>
- C 库 - <locale.h>
- C 库 - <math.h>
- C 库 - <setjmp.h>
- C 库 - <signal.h>
- C 库 - <stdalign.h>
- C 库 - <stdarg.h>
- C 库 - <stdbool.h>
- C 库 - <stddef.h>
- C 库 - <stdio.h>
- C 库 - <stdlib.h>
- C 库 - <string.h>
- C 库 - <tgmath.h>
- C 库 - <time.h>
- C 库 - <wctype.h>
- C 标准库资源
- C 库 - 快速指南
- C 库 - 有用资源
- C 库 - 讨论
C 库 - cabs() 函数
C 的complex 库 cabs() 函数用于获取复数的绝对值(也称为范数、模数或幅度)。
此函数取决于 z(复数)的类型。如果 z 为“float”类型或浮点虚数,我们可以使用cabsf()获取绝对值,对于 long double 类型,使用cabsl(),对于 double 类型,使用cabs()。
语法
以下是 cabs() 函数的 C 库语法:
double cabs( double complex z );
参数
此函数接受一个参数:
-
Z - 它表示我们要计算其绝对值的复数。
返回值
如果未发生错误,则此函数返回 z 的绝对值(范数、幅度)。
示例 1
以下是一个基本的 C 程序,演示了如何使用 cabs() 获取复数 (z) 的绝对值。
#include <stdio.h> #include <complex.h> int main(void) { double complex z = 3.5 + 2.21 * I; double result = cabs(z); printf("cabs(%.2f + %.2fi) = %.3f\n", creal(z), cimag(z), result); return 0; }
输出
以下是输出:
cabs(3.50 + 2.21i) = 4.139
示例 2
让我们看另一个例子,我们使用 CMPLX() 创建一个复数。然后我们使用 cabs() 函数获取复数的绝对值。
#include <stdio.h> #include <complex.h> int main() { double real = 5.0; double imag = 6.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), cabs(z)); // use cabs() double absolute_val = cabs(z); printf("The magnitude of z: %.2f\n", absolute_val); return 0; }
输出
以下是输出:
The complex number is: 5.00 + 7.81i The magnitude of z: 7.81
示例 3
下面的示例使用 cabs() 函数计算结果复数的绝对值。
#include <stdio.h> #include <complex.h> int main() { long double complex z1 = 3.0 + 5.0 * I; long double complex z2 = 4.0 + 3.0 * I; // Difference of two complex numbers long double complex z = z2 - z1; printf("z: %.1Lf + %.1Lfi\n", creall(z), cimagl(z)); printf("Complex Absolute value: %.2Lf\n", cabsl(z)); return 0; }
输出
以下是输出:
z: 1.0 + -2.0i Complex Absolute value: 2.24
c_library_complex_h.htm
广告