cabsf, cabs, cabsl

来自cppreference.com
< c‎ | numeric‎ | complex
定义于头文件 <complex.h>
float       cabsf( float complex z );
(1) (C99 起)
double      cabs( double complex z );
(2) (C99 起)
long double cabsl( long double complex z );
(3) (C99 起)
定义于头文件 <tgmath.h>
#define fabs( z )
(4) (C99 起)
1-3) 计算复数 z 的绝对值。
4) 泛型宏:若 z 拥有 long double complexlong double imaginary 类型,则调用 cabsl 。若 z 拥有 float complexfloat imaginary 类型,则调用 cabsf 。若 z 拥有 double complexdouble imaginary 类型,则调用 cabs 。对于实数和整数类型,调用对应版本的 fabs

参数

z - 复参数

返回值

若不出现错误,则返回 z 的绝对值(范数、模)。

如同函数实现为 hypot(creal(z), cimag(z)) 一般处理错误和特殊情况。

示例

#include <stdio.h>
#include <complex.h>
 
int main(void)
{
    double complex z = 1.0 + 1.0*I;
    printf("%.1f%+.1fi cartesian is rho=%f theta=%f polar\n",
           creal(z), cimag(z), cabs(z), carg(z));
}

输出:

1.0+1.0i cartesian is rho=1.414214 theta=0.785398 polar

引用

  • C11 standard (ISO/IEC 9899:2011):
  • 7.3.8.1 The cabs functions (p: 195)
  • 7.25 Type-generic math <tgmath.h> (p: 373-375)
  • G.7 Type-generic math <tgmath.h> (p: 545)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.3.8.1 The cabs functions (p: 177)
  • 7.22 Type-generic math <tgmath.h> (p: 335-337)
  • G.7 Type-generic math <tgmath.h> (p: 480)

参阅

(C99)(C99)(C99)
计算复数的辐角
(函数)
计算整数值的绝对值 (|x|
(函数)
(C99)(C99)
计算浮点值的绝对值 (|x|
(函数)
(C99)(C99)(C99)
计算两个给定数平方和的平方根 (x2
+y2

(函数)