名前空間
変種
操作

std::abs(float), std::fabs

提供: cppreference.com
< cpp‎ | numeric‎ | math
 
 
 
一般的な数学関数
関数
基本的な演算
abs(float)fabs
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
指数関数
(C++11)
(C++11)
(C++11)
(C++11)
冪関数
(C++11)
(C++11)
三角関数と双曲線関数
(C++11)
(C++11)
(C++11)
誤差関数とガンマ関数
(C++11)
(C++11)
(C++11)
(C++11)
最も近い整数
(C++11)(C++11)(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
浮動小数点操作関数
(C++11)(C++11)
(C++11)
(C++11)
(C++11)(C++11)
(C++11)
分類および比較
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
マクロ定数
(C++11)(C++11)(C++11)(C++11)(C++11)
 
ヘッダ <cmath> で定義
ヘッダ <cstdlib> で定義
(C++17およびそれ以降)
float       abs( float arg );
(1)
double      abs( double arg );
(2)
long double abs( long double arg );
(3)
ヘッダ <cmath> で定義
float       fabs( float arg );
(4)
double      fabs( double arg );
(5)
long double fabs( long double arg );
(6)
double      fabs( Integral arg );
(7) (C++11およびそれ以降)
1-6) 浮動小数点値 arg の絶対値を計算します。
7) (4-6) でカバーされない算術型の引数のすべての組み合わせに対するオーバーロード集合または関数テンプレート。 いずれかの引数が整数型を持つ場合、それは double にキャストされます。 他のいずれかの引数が long double の場合、戻り値型は long double になり、そうでなければ double になります。
整数引数に対しては、 std::abs の整数オーバーロードがより良くマッチします。 std::is_unsigned<X>::valuetrue であり、 X整数拡張int に変換できない場合、プログラムは ill-formed です。 (C++17およびそれ以降)

目次

[編集] 引数

arg - 浮動小数点または整数型の値

[編集] 戻り値

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

[編集] エラー処理

この関数は math_errhandling で規定されているいかなるエラー状況の対象でもありません。

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

  • 引数が ±0 であれば、 +0 が返されます。
  • 引数が ±∞ であれば、 +∞ が返されます。
  • 引数が NaN であれば、 NaN が返されます。

[編集] ノート

C++11 と C++14 の間で、標準は std::abs が整数型に対して double を返すオーバーロードを持つことを誤って要求していました。 この要件は欠陥報告 2735 によって C++17 で削除されました。

[編集]

#include <iostream>
#include <cmath>
 
int main()
{
    std::cout << "abs(+3.0) = " << std::abs(+3.0) << '\n'
              << "abs(-3.0) = " << std::abs(-3.0) << '\n';
    // special values
    std::cout << "abs(-0.0) = " << std::abs(-0.0) << '\n'
              << "abs(-Inf) = " << std::abs(-INFINITY) << '\n';
}

出力例:

abs(+3.0) = 3
abs(-3.0) = 3
abs(-0.0) = 0
abs(-Inf) = inf

[編集] 関連項目

整数値の絶対値 (|x|) を計算します
(関数) [edit]
(C++11)
浮動小数点値の符号をコピーします
(関数) [edit]
(C++11)
指定された数値が負かどうか調べます
(関数) [edit]
複素数の絶対値を返します
(関数テンプレート) [edit]
valarray の各要素に関数 std::abs を適用します
(関数テンプレート) [edit]