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 (p: 218)
- 7.22.6.1 The abs, labs and llabs functions (p: 356)