abs, labs, llabs, imaxabs
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <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-битного типа int INT_MIN это -2147483648, но ожидаемый результат 2147483648 больше, чем INT_MAX, который равен 2147483647.
Пример
Запустить этот код
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf("abs(+3) = %d\n", abs(+3));
printf("abs(-3) = %d\n", abs(-3));
// printf("%+d\n", abs(INT_MIN)); // неопределённое поведение в системах с дополнением до 2
}
Вывод:
abs(+3) = 3
abs(-3) = 3
Ссылки
- Стандарт C23 (ISO/IEC 9899:2023):
- 7.8.2.1 Функция imaxabs (стр. TBD)
- 7.22.6.1 Функции abs, labs и llabs (стр. TBD)
- Стандарт C17 (ISO/IEC 9899:2018):
- 7.8.2.1 Функция imaxabs (стр. 159)
- 7.22.6.1 Функции abs, labs и llabs (стр. 259)
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.8.2.1 Функция imaxabs (стр. 218)
- 7.22.6.1 Функции abs, labs и llabs (стр. 356)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.8.2.1 Функция imaxabs (стр. 199-200)
- 7.20.6.1 Функции abs, labs и llabs (стр. 320)
- Стандарт C89/C90 (ISO/IEC 9899:1990):
- 4.10.6.1 Функция abs
- 4.10.6.3 Функция labs
См. также
Абсолютное значение с плавающей точкой (|x|) Оригинал: absolute value of a floating point value (|x|) Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) | |
(C99)(C99)(C99) |
вычисляет величину комплексного числа Оригинал: computes the magnitude of a complex number Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) |
Документация C++ по abs
| |