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,INT_MIN 为 -2147483648,但其绝对值应有的结果是 2147483648,大于 INT_MAX(其值为 2147483647)。
示例
运行此代码
输出:
abs(+3) = 3 abs(-3) = 3
引用
- C23 标准(ISO/IEC 9899:2024):
- 7.8.2.1 The imaxabs function (第 TBD 页)
- 7.22.6.1 The abs, labs and llabs functions (第 TBD 页)
- C17 标准(ISO/IEC 9899:2018):
- 7.8.2.1 The imaxabs function (第 159 页)
- 7.22.6.1 The abs, labs and llabs functions (第 259 页)
- 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) |
计算复数的模(绝对值) (函数) |