ИМЯ¶
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);
ОПИСАНИЕ¶
Функция
abs()
вычисляет
абсолютное
значение
(модуль)
целочисленного
аргумента
j.
Функции
labs(),
llabs(), и
imaxabs()
вычисляют
абсолютное
значение
аргумента
j,
который
имеет
соответствующий
целочисленный
тип.
ВОЗВРАЩАЕМОЕ
ЗНАЧЕНИЕ¶
Возвращает
модуль
целочисленного
аргумента.
СООТВЕТСТВИЕ
СТАНДАРТАМ¶
SVID 3, POSIX.1, BSD 4.3, ISO/IEC 9899. POSIX.1
(редакция 1996)
требует
наличия
только
функции
abs(). ISO/IEC
9899:1990 (C89) включает
в себя
только
функции
abs() и
labs(); функции
llabs() и
imaxabs() были
добавлены в C99.
ЗАМЕЧАНИЯ¶
Результат
вычисления
абсолютного
значения
наибольшего
по модулю
отрицательного
целого числа
не
определен.
Функция
llabs()
включена в glibc
начиная с
версии 2.0, но не
присутствует
в libc5 или libc4.
Функция
imaxabs()
включена в glibc
начиная с
версии 2.1.1.
Для того,
чтобы
появилось
объявление
функции
llabs(),
может
потребоваться
объявить
_ISOC99_SOURCE
или
_ISOC9X_SOURCE
(зависит от
версии glibc) до
включения
стандартных
заголовочных
файлов.
GCC
обрабатывает
abs() и
labs() как
встроенные
функции. GCC 3.0
точно так же
обрабатывает
еще и
llabs() и
imaxabs().
СМОТРИ
ТАКЖЕ¶
ceil(3),
floor(3),
fabs(3),
labs(3),
rint(3)