std::abs(int), std::labs, std::llabs, std::imaxabs

来自cppreference.com
< cpp‎ | numeric‎ | math
 
 
 
常用数学函数
函数
基本运算
abs(int)labsllabsimaxabs



(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
指数函数
(C++11)
(C++11)
(C++11)
(C++11)
幂函数
(C++11)
(C++11)
三角与双曲函数
(C++11)
(C++11)
(C++11)
误差与伽马函数
(C++11)
(C++11)
(C++11)
(C++11)
临近整数的浮点运算
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
浮点操作函数
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
分类/比较
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
宏常量
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
 
定义于头文件 <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 起)

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

若以满足 std::is_unsigned<X>::valuetrueX 类型参数调用 std::abs ,且 X 不能以整数提升转换成 int ,则程序为病式。 (C++17 起)

目录

[编辑] 参数

n - 整数值

[编辑] 返回值

若可表示,则为 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)); // 补码系统上是未定义行为
}

输出:

abs(+3) = 3
abs(-3) = 3

[编辑] 参阅

浮点值的绝对值( |x|
(函数) [编辑]
返回复数的绝对值
(函数模板) [编辑]
应用函数 std::abs 到 valarray 的每个元素
(函数模板) [编辑]
abs, labs, llabsC 文档