名前空間
変種
操作

std::abs, std::labs, std::llabs, std::imaxabs

提供: cppreference.com
< cpp‎ | numeric‎ | math
 
 
 
一般的な数学関数
関数
基本的な演算
abs(int)labsllabsimaxabs
(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)(C++11)
 
ヘッダ <cstdlib> で定義
ヘッダ <cmath> で定義
(C++17およびそれ以降)
int       abs( int n );
long      abs( long n );
long long abs( long long n );
(C++11およびそれ以降)
ヘッダ <cstdlib> で定義
long       labs( long n );
long long llabs( long long n );
(C++11およびそれ以降)
ヘッダ <cinttypes> で定義
(C++11およびそれ以降)
(C++11およびそれ以降)

整数の絶対値を計算します。 結果が戻り値の型で表現できない場合、動作は未定義です。

std::is_unsigned<X>::valuetrue であるような X 型の引数で std::abs が呼ばれ、 X整数昇格によって int に変換できない場合、プログラムは ill-formed です。 (C++17およびそれ以降)

目次

[編集] 引数

n - 整数値

[編集] 戻り値

表現可能であれば、 n の絶対値 (すなわち |n|)。

[編集] ノート

2の補数のシステムでは、最も負の値の絶対値は範囲外です。 例えば、32ビットの2の補数の int 型では、 INT_MIN は -2147483648 ですが、その絶対値 2147483648 は INT_MAX の 2147483647 よりも大きくなります。

[編集]

#include <iostream>
#include <cstdlib>
#include <climits>
 
int main()
{
    std::cout << "abs(+3) = " << std::abs(3) << '\n'
              << "abs(-3) = " << std::abs(-3) << '\n';
 
//  std::cout << std::abs(INT_MIN); // undefined behavior on 2's complement systems
}

出力:

abs(+3) = 3
abs(-3) = 3

[編集] 関連項目

浮動小数点値の絶対値 (|x|) を計算します
(関数) [edit]
複素数の絶対値を返します
(関数テンプレート) [edit]
valarray の各要素に関数 std::abs を適用します
(関数テンプレート) [edit]
abs, labs, llabsC言語リファレンス