ABS(3)

名前
abs, labs, llabs, imaxabs - 整数の絶対値を計算する

書式
#include <stdlib.h>

int abs(int j);
long int labs(long int j);
long long int llabs(long long int j);

#include <inttypes.h>

intmax_t imaxabs(intmax_t j);

glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):

llabs():
    _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L;
    or cc -std=c99

説明
abs() 関数は、整数の引数 j の絶対値を計算する。 labs(), llabs(), imaxabs() 関数は、 それぞれの関数の型に応じた引数 j の絶対値を計算する。

返り値
それぞれの関数の型に応じた整数の引数の絶対値を返す。

準拠
SVr4, POSIX.1-2001, 4.3BSD, C99. C89 は abs() 関数と labs() 関数のみを含んでいる。 llabs() 関数と imaxabs() 関数は C99 で追加された。

注意
最大の負整数の絶対値は、定義されていない。

llabs() 関数はバージョン 2.0 から glibc に含まれるようになったが、 libc5 や libc4 にはない。 imaxabs() 関数は バージョン 2.1.1 から glibc に含まれるようになった。

llabs() が宣言されるためには、標準ヘッダを include する前に _ISOC99_SOURCE か _ISOC9X_SOURCE(どちらかは glibc の バージョンに依存する)を define しておく必要がある。

GCC は abs() と labs() をビルドイン関数として扱う。 GCC 3.0 は llabs() と imaxabs() もビルドインとして扱う。

関連項目
cabs(3), ceil(3), fabs(3), floor(3), rint(3)

この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。