Manpages

ИМЯ

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)