std::abs, std::labs, std::llabs, std::imaxabs
提供: cppreference.com
ヘッダ <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> で定義
|
||
std::intmax_t abs( std::intmax_t n ); |
(C++11以上) | |
std::intmax_t imaxabs( std::intmax_t n ); |
(C++11以上) | |
整数の絶対値を計算します。 結果が戻り値の型で表現できない場合、動作は未定義です。
std::is_unsigned<X>::value が true であるような X 型の引数で std::abs が呼ばれ、 X が整数昇格によって int に変換できない場合、プログラムは ill-formed です。 |
(C++17以上) |
目次 |
[編集] 引数
n | - | 整数値 |
[編集] 戻り値
表現可能であれば、 n
の絶対値 (すなわち |n|
)。
[編集] ノート
2の補数のシステムでは、最も負の値の絶対値は範囲外です。 例えば、32ビットの2の補数の int 型では、 INT_MIN は -2147483648 ですが、その絶対値 2147483648 は INT_MAX の 2147483647 よりも大きくなります。
[編集] 例
Run this code
#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
[編集] 関連項目
(C++11)(C++11) |
浮動小数点値の絶対値 (|x|) を計算します (関数) |
複素数の絶対値を返します (関数テンプレート) | |
valarray の各要素に関数 abs を適用します (関数テンプレート) | |
abs, labs, llabs の C言語リファレンス
|