abs, labs, llabs, imaxabs

来自cppreference.com
< c‎ | numeric‎ | math
 
 
 
常用数学函数
函数
基本运算
abslabsllabsimaxabs



(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
指数函数
(C99)
(C99)
(C99)
(C99)
幂函数
(C99)
(C99)
三角及双曲函数
(C99)
(C99)
(C99)
误差及伽马函数
(C99)
(C99)
(C99)
(C99)
临近整数的浮点运算
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
浮点数操作函数
(C99)
(C99)
(C99)
(C99)
分类
(C99)
(C99)
(C99)
宏常量
 
定义于头文件 <stdlib.h>
int        abs( int n );
long       labs( long n );
long long llabs( long long n );
(C99 起)
定义于头文件 <inttypes.h>
intmax_t imaxabs( intmax_t n );
(C99 起)

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

目录

[编辑] 参数

n - 整数值

[编辑] 返回值

n的绝对值(即|n|),若它能表示。

[编辑] 注意

在2补数系统中,最负的值的绝对值处于对应整数范围外,例如对于32位2补数类型整数,INT_MIN是-2147483648,但其绝对值应有的结果是2147483648,大于INT_MAX,该值为2147483647。

[编辑] 示例

#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
 
int main(void)
{
    printf("abs(+3) = %d\n", abs(+3));
    printf("abs(-3) = %d\n", abs(-3));
 
//  printf("%+d\n", abs(INT_MIN)); // 在2补数系统上是未定义行为
}

输出:

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

[编辑] 参考

  • C11 standard (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)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.8.2.1 The imaxabs function (p: 199-200)
  • 7.20.6.1 The abs, labs and llabs functions (p: 320)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.10.6.1 The abs function
  • 4.10.6.3 The labs function

[编辑] 参阅


(C99)
(C99)
计算浮点值的绝对值 (|x|
(函数) [编辑]
(C99)
(C99)
(C99)
计算复数的模(绝对值)
(函数) [编辑]
absC++ 文档