std::abs(int), std::labs, std::llabs, std::imaxabs_C++中文网

位置:首页 > C++ 参考手册 >数值库 >常用数学函数 > std::abs(int), std::labs, std::llabs, std::imaxabs

定义于头文件 <cstdlib>

定义于头文件 <cmath>

(C++17 起)

int       abs( int n );

long      abs( long n );

long long abs( long long n );

(C++11 起)

定义于头文件 <cstdlib>

long       labs( long n );

long long llabs( long long n );

(C++11 起)

定义于头文件 <cinttypes>

(C++11 起)
(C++11 起)

计算整数的绝对值。若结果不能以返回类型表示则行为未定义。

参数

返回值

若可表示,则为 n 的绝对值(即 |n| )。

注意

补码系统中,最负值的绝对值在范围外,例如对于 32 位补码类型 int , INT_MIN 是 -2147483648 ,但本应有的结果 2147483648 大于 INT_MAX ,即 2147483647 。

示例

#include <iostream>
#include <cstdlib>
#include <climits>
 
int main()
{
    std::cout << "abs(+3) = " << std::abs(3) << '\n'
              << "abs(-3) = " << std::abs(-3) << '\n';
 
//  std::cout << abs(INT_MIN); // 补码系统上是未定义行为
}

输出:

参阅