- 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 程式設計資源
- 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
廣告