名前空間
変種
操作

abs, labs, llabs, imaxabs

提供: cppreference.com
< c‎ | numeric‎ | math
 
 
 
一般的な数学関数
関数
基本操作
abslabsllabsimaxabs
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)(C99)(C99)
指数関数
(C99)
(C99)
(C99)
(C99)
冪関数
(C99)
(C99)
三角関数と双曲線関数
(C99)
(C99)
(C99)
誤差関数とガンマ関数
(C99)
(C99)
(C99)
(C99)
最も近い整数
(C99)(C99)(C99)
(C99)
(C99)(C99)(C99)
浮動小数点操作関数
(C99)(C99)
(C99)
(C99)
分類
(C99)
(C99)
(C99)
(C99)(C99)
マクロ定数
 
ヘッダ <stdlib.h> で定義
int        abs( int n );
long       labs( long n );
long long llabs( long long n );
(C99およびそれ以降)
ヘッダ <inttypes.h> で定義
intmax_t imaxabs( intmax_t n );
(C99およびそれ以降)

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

目次

[編集] 引数

n - 整数値

[編集] 戻り値

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

[編集] ノート

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

[編集]

#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
 
int main(void)
{
    printf("abs(+3) = %d\n", abs(+3));
    printf("abs(-3) = %d\n", abs(-3));
 
//  printf("%+d\n", abs(INT_MIN)); // undefined behavior on 2's complement systems
}

出力:

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

[編集] 参考文献

  • C11 standard (ISO/IEC 9899:2011):
  • 7.8.2.1 The imaxabs function (p: 218)
  • 7.22.6.1 The abs, labs and llabs functions (p: 356)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.8.2.1 The imaxabs function (p: 199-200)
  • 7.20.6.1 The abs, labs and llabs functions (p: 320)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.10.6.1 The abs function
  • 4.10.6.3 The labs function

[編集] 関連項目

(C99)(C99)
浮動小数点値の絶対値 (|x|) を計算します
(関数) [edit]
(C99)(C99)(C99)
複素数の絶対値を計算します
(関数) [edit]