Namespaces
Variants

abs, labs, llabs, imaxabs

From cppreference.net
< c ‎ | numeric ‎ | math
Common mathematical functions
Functions
Basic operations
abs labs llabs imaxabs
(C99) (C99)
(C99)
(C99)
(C99)
(C99) (C99) (C99) (C23)
Maximum/minimum operations
Exponential functions
Power functions
Trigonometric and hyperbolic functions
Nearest integer floating-point
(C99) (C99) (C99)
(C23) (C23) (C23) (C23)
Floating-point manipulation
Narrowing operations
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
Quantum and quantum exponent
Decimal re-encoding functions
Total order and payload functions
Classification
Error and gamma functions
(C99)
(C99)
(C99)
(C99)
Types
Macro constants
Special floating-point values
Arguments and return values
Error handling
Fast operation indicators
헤더 파일에 정의됨 <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 의 경우, INT_MIN - 2147483648 이지만, 결과값이 될 2147483648 INT_MAX 2147483647 보다 큽니다.

예제

#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    printf("abs(+3) = %d\n", abs(+3));
    printf("abs(-3) = %d\n", abs(-3));
//  printf("%+d\n", abs(INT_MIN)); // undefined behavior on 2's complement systems
}

출력:

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

참고문헌

  • C23 표준 (ISO/IEC 9899:2024):
  • 7.8.2.1 imaxabs 함수 (p: TBD)
  • 7.22.6.1 abs, labs 및 llabs 함수 (p: TBD)
  • C17 표준 (ISO/IEC 9899:2018):
  • 7.8.2.1 imaxabs 함수 (p: 159)
  • 7.22.6.1 abs, labs 및 llabs 함수 (p: 259)
  • C11 표준 (ISO/IEC 9899:2011):
  • 7.8.2.1 imaxabs 함수 (p: 218)
  • 7.22.6.1 abs, labs 및 llabs 함수 (p: 356)
  • C99 표준 (ISO/IEC 9899:1999):
  • 7.8.2.1 imaxabs 함수 (p: 199-200)
  • 7.20.6.1 abs, labs 및 llabs 함수 (p: 320)
  • C89/C90 표준 (ISO/IEC 9899:1990):
  • 4.10.6.1 abs 함수
  • 4.10.6.3 labs 함수

참고 항목

(C99) (C99)
부동 소수점 값의 절댓값을 계산합니다 ( |x| )
(함수)
(C99) (C99) (C99)
복소수의 크기를 계산합니다
(함수)