abs, labs, llabs, imaxabs
来自cppreference.com
在标头 <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) |
计算复数的模(绝对值) (函数) |