abs, labs, llabs, imaxabs
|
在标头
<stdlib.h> 定义 |
||
|
int abs( int n );
|
||
|
long labs( long n );
|
||
|
long long llabs( long long n );
|
(C99 起) | |
|
在标头
<inttypes.h> 定义 |
||
| (C99 起) | ||
计算整数的绝对值。若返回类型无法表示结果,则行为未定义。
参数
| n | - | 整数值 |
返回值
n 的绝对值(即 |n| ),若它能表示。
注意
在补码中,最负的值的绝对值处于对应整数范围外,例如对于 32 位补码类型整数, INT_MIN 为 -2147483648 ,但其绝对值应有的结果是 2147483648 ,大于 INT_MAX ,其值为 2147483647 。
示例
输出:
abs(+3) = 3 abs(-3) = 3
引用
- C11 标准(ISO/IEC 9899:2011):
-
- 7.8.2.1 The imaxabs function (第 218 页)
-
- 7.22.6.1 The abs, labs and llabs functions (第 356 页)
- C99 标准(ISO/IEC 9899:1999):
-
- 7.8.2.1 The imaxabs function (第 199-200 页)
-
- 7.20.6.1 The abs, labs and llabs functions (第 320 页)
- C89/C90 标准(ISO/IEC 9899:1990):
-
- 4.10.6.1 The abs function
-
- 4.10.6.3 The labs function
参阅
|
(C99)(C99)
|
计算浮点值的绝对值( |x| ) (函数) |
|
(C99)(C99)(C99)
|
计算复数的模(绝对值) (函数) |