abs, labs, llabs, imaxabs
From cppreference.com
C
Concurrency support (C11)
Common mathematical functions
Functions
Basic operations
Maximum/minimum operations
(C23)
(C23)
(C23)
(C23)
(C23)
Exponential functions
Power functions
Trigonometric and hyperbolic functions
Nearest integer floating-point
Floating-point manipulation
Narrowing operations
Quantum and quantum exponent
(C23)
(C23)
(C23)
(C23)
Decimal re-encoding functions
(C23)
(C23)
(C23)
(C23)
Total order and payload functions
(C23)
(C23)
(C23)
(C23)
Classification
(C99)
(C23)
(C99)
(C99)
(C99)
(C99)
(C99)
(C23)
(C23)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C23)
(C23)
Error and gamma functions
Types
(C99)(C99)
(C99)(C99)
(C23)(C23)
Macro constants
Special floating-point values
(C99)(C99)(C23)
(C99)(C23)
(C99)(C23)
Arguments and return values
(C99)(C99)
(C99)(C99)(C99)(C99)(C99)
(C23)(C23)
(C23)(C23)(C23)(C23)(C23)
Error handling
(C99)(C99)
(C99)
Fast operation indicators
(C99)(C99)
(C23)(C23)(C23)(C23)
(C23)(C23)(C23)(C23)
(C23)(C23)(C23)(C23)
(C99)(C23)
(C23)(C23)(C23)(C23)
(C23)(C23)(C23)(C23)
(C23)(C23)(C23)(C23)
Defined in header
<stdlib.h>
int abs( int n );
long labs( long n );
long long llabs( long long n );
(since C99)
Defined in header
<inttypes.h>
Computes the absolute value of an integer number. The behavior is undefined if the result cannot be represented by the return type.
[edit] Parameters
n
-
integer value
[edit] Return value
The absolute value of n (i.e. |n|
), if it is representable.
[edit] Notes
In 2's complement systems, the absolute value of the most-negative value is out of range, e.g. for 32-bit 2's complement type int, INT_MIN is -2147483648, but the would-be result 2147483648 is greater than INT_MAX , which is 2147483647.
[edit] Example
Run this code
Output:
abs(+3) = 3 abs(-3) = 3
[edit] References
- C23 standard (ISO/IEC 9899:2024):
- 7.8.2.1 The imaxabs function (p: TBD)
- 7.22.6.1 The abs, labs and llabs functions (p: TBD)
- C17 standard (ISO/IEC 9899:2018):
- 7.8.2.1 The imaxabs function (p: 159)
- 7.22.6.1 The abs, labs and llabs functions (p: 259)
- 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
[edit] See also
C++ documentation for abs