fabs, fabsf, fabsl

来自cppreference.com
< c‎ | numeric‎ | math
 
 
 
常用数学函数
函数
基本运算
remainder(C99)
remquo(C99)
fma(C99)
fmax(C99)
fmin(C99)
fdim(C99)
nan
nanf
nanl
(C99)
(C99)
(C99)
指数函数
exp
exp2(C99)
expm1(C99)
log
log10
log1p(C99)
log2(C99)
幂函数
sqrt
cbrt(C99)
hypot(C99)
pow
三角及双曲函数
sinh
cosh
tanh
asinh(C99)
acosh(C99)
atanh(C99)
误差及伽马函数
erf(C99)
erfc(C99)
lgamma(C99)
tgamma(C99)
临近整数的浮点运算
ceil
floor
round
lround
llround
(C99)
(C99)
(C99)
trunc(C99)
nearbyint(C99)
rint
lrint
llrint
(C99)
(C99)
(C99)
浮点数操作函数
ldexp
scalbn
scalbln
(C99)
(C99)
ilogb(C99)
logb(C99)
分类
fpclassify(C99)
isfinite(C99)
isinf(C99)
isnan(C99)
isnormal(C99)
signbit(C99)
宏常量
 
定义于头文件 <math.h>
float       fabsf( float arg );
(1) (C99起)
double      fabs( double arg );
(2)
long double fabsl( long double arg );
(3) (C99起)
定义于头文件 <tgmath.h>
#define fabs( arg )
(4) (C99起)
1-3) 计算浮点值arg的绝对值。
4) 通用类型宏:若参数类型为long double,则调用fabsl。否则,若参数类型为整数或double,则调用fabs。否则调用fabsf。若参数为复数或序数,则调用对应的复数函数(cabsfcabscabsl)。

目录

[编辑] 参数

arg - 浮点值

[编辑] 返回值

若计算成功,则返回arg的绝对值(|arg|)。此值是准确的,并且不依赖任何舍入模式。

[编辑] 错误管理

此函数不受制于任何指定于math_errhandling中的错误条件。

若实现支持IEEE浮点运算(IEC 60559),

  • 若参数为±0,则返回+0
  • 若参数为±∞,则返回+∞
  • 若参数为NaN,则返回NaN

[编辑] Example

#include <stdio.h>
#include <math.h>
 
/* 此数值积分假定所有面积均为正。 */
#define PI 3.14159
double num_int (double a, double b,
                double f(double),
                unsigned n) {
    if (a == b) return 0.0;
    if (n == 0) n=1;   /* 避免除以零 */
    double h = (b-a)/n;
    double sum = 0.0;
    for (unsigned k=0; k < n; ++k)
        sum += h*fabs(f(a+k*h));
    return sum;
}
 
int main(void)
{
    printf("fabs(+3) = %f\n", fabs(+3.0));
    printf("fabs(-3) = %f\n", fabs(-3.0));
    // 特殊值
    printf("fabs(-0) = %f\n", fabs(-0.0));
    printf("fabs(-Inf) = %f\n", fabs(-INFINITY));
 
    printf("%f\n", num_int(0.0,2*PI,sin,100000));
 
}

输出:

fabs(+3) = 3.000000
fabs(-3) = 3.000000
fabs(-0) = 0.000000
fabs(-Inf) = inf
4.000000

[编辑] 参考

  • C11 standard (ISO/IEC 9899:2011):
  • 7.12.7.2 The fabs functions (p: 248)
  • 7.25 Type-generic math <tgmath.h> (p: 373-375)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.12.7.2 The fabs functions (p: 228-229)
  • 7.22 Type-generic math <tgmath.h> (p: 335-337)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.5.6.2 The fabs function

[编辑] 参阅

计算整数值的绝对值 (|x|
(函数) [edit]
从一个给定值的绝对值和另一个给定值的符号产生值
(函数) [edit]
检查给定数是不是负数
(函数) [edit]
(C99)
(C99)
(C99)
计算复数的模(绝对值)
(函数) [edit]
fabsC++文档