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 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
参阅
(C99)(C99) |
计算浮点值的绝对值( |x| ) (函数) |
(C99)(C99)(C99) |
计算复数的模(绝对值) (函数) |