名前空間
変種
操作

fabs, fabsf, fabsl, fabsd32, fabsd64, fabsd128

From cppreference.com
< c‎ | numeric‎ | math
 
 
 
共通の数学関数
関数
基本的な数学関数
fabs
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
最大/最小演算
(C99)
(C99)
指数関数
(C23)
(C99)
(C99)
(C23)
(C23)

(C99)
(C99)(C23)
(C23)
(C23)
べき乗関数
(C99)
(C23)
(C23)

(C99)
(C23)
(C23)
三角関数と双曲線関数
(C23)
(C23)
(C23)
(C23)
(C99)
(C99)
(C99)
最も近い整数浮動小数点数
(C99)(C99)(C99)
(C99)

(C99)(C99)(C99)
(C23)(C23)(C23)(C23)
浮動小数点操作
(C99)(C99)
(C99)(C23)
(C99)
縮小演算
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
量子および量子指数
Decimal再エンコーディング関数
総順序およびペイロード関数
分類
(C99)
(C99)
(C99)
(C23)
誤差関数とガンマ関数
(C99)
(C99)
(C99)
(C99)
マクロ定数
特殊な浮動小数点値
(C99)(C23)
引数と戻り値
エラーハンドリング
高速演算インジケータ
 
ヘッダー <math.h> で定義
float       fabsf( float arg );
(1) (C99以降)
double      fabs( double arg );
(2)
long double fabsl( long double arg );
(3) (C99以降)
_Decimal32  fabsd32( _Decimal32 arg );
(4) (C23以降)
_Decimal64  fabsd64( _Decimal64 arg );
(5) (C23以降)
_Decimal128 fabsd128( _Decimal128 arg );
(6) (C23以降)
ヘッダー <tgmath.h> で定義
#define fabs( arith )
(7) (C99以降)
1-6) 引数argの浮動小数点数の絶対値を計算します。

10進浮動小数点数パラメータを持つ関数は、実装が__STDC_IEC_60559_DFP__を事前に定義している場合(すなわち、実装が10進浮動小数点数をサポートしている場合)にのみ宣言されます。

(C23以降)
7) 型汎用マクロ:引数の型が_Decimal128, _Decimal64, _Decimal32,(C23 以降)long double, double, または float の場合、それぞれfabsd128, fabsd64, fabsd32,(C23 以降)fabsl, fabs, または fabsf が呼び出されます。それ以外の場合で、引数が整数型の場合、fabsが呼び出されます。それ以外の場合で、引数が複素数の場合、マクロは対応する複素数関数(cabsf, cabs, cabsl)を呼び出します。それ以外の場合、動作は未定義です。

目次

[編集] パラメータ

arg - floating-point value
arith - 浮動小数点数または整数値

[編集] 戻り値

成功した場合、引数argの絶対値(|arg|)を返します。返される値は正確であり、丸めモードには依存しません。

[編集] エラー処理

この関数は、math_errhandlingで指定されたエラー条件のいずれにも該当しません。

実装がIEEE浮動小数点算術 (IEC 60559) をサポートしている場合、

  • 引数が±0の場合、+0が返されます。
  • 引数が ±∞ の場合、+∞ が返されます。
  • 引数が NaN の場合、NaN が返されます。

[編集]

#include <math.h>
#include <stdio.h>
 
#define PI 3.14159
 
// This numerical integration assumes all area is positive.
double integrate(double f(double),
                 double a, double b, // assume a < b
                 unsigned steps) // assume steps > 0
{
    const double dx = (b - a) / steps;
    double sum = 0.0;
    for (double x = a; x < b; x += dx)
        sum += fabs(f(x));
    return dx * sum;
}
 
int main(void)
{
    printf("fabs(+3) = %f\n", fabs(+3.0));
    printf("fabs(-3) = %f\n", fabs(-3.0));
    // special values
    printf("fabs(-0) = %f\n", fabs(-0.0));
    printf("fabs(-Inf) = %f\n", fabs(-INFINITY));
 
    printf("Area under sin(x) in [-PI, PI] = %f\n", integrate(sin, -PI, PI, 5101));
}

出力

fabs(+3) = 3.000000
fabs(-3) = 3.000000
fabs(-0) = 0.000000
fabs(-Inf) = inf
Area under sin(x) in [-PI, PI] = 4.000000

[編集] 参照

  • C23標準 (ISO/IEC 9899:2024)
  • 7.12.7.2 The fabs functions (p: TBD)
  • 7.25 Type-generic math <tgmath.h> (p: TBD)
  • F.10.4.2 The fabs functions (p: TBD)
  • C17標準 (ISO/IEC 9899:2018)
  • 7.12.7.2 The fabs functions (p: 181)
  • 7.25 型総称数学関数 <tgmath.h> (p: 272-273)
  • F.10.4.2 The fabs functions (p: 382)
  • C11標準 (ISO/IEC 9899:2011)
  • 7.12.7.2 The fabs functions (p: 248)
  • 7.25 型総称数学関数 <tgmath.h> (p: 373-375)
  • F.10.4.2 The fabs functions (p: 524)
  • C99標準 (ISO/IEC 9899:1999)
  • 7.12.7.2 The fabs functions (p: 228-229)
  • 7.22 型総称数学関数 <tgmath.h> (p: 335-337)
  • F.9.4.2 The fabs functions (p: 460)
  • C89/C90標準 (ISO/IEC 9899:1990)
  • 4.5.6.2 The fabs function

[編集] 関連項目

整数値の絶対値を計算する (|x|)
(関数) [編集]
与えられた値の絶対値と別の与えられた値の符号を持つ値を生成する
(関数) [編集]
与えられた数値が負数かチェックする
(関数マクロ) [編集]
(C99)(C99)(C99)
複素数の絶対値を計算する
(関数) [編集]
English 日本語 中文(简体) 中文(繁體)