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
Definiert im Header <stdlib.h>
int abs ( int n ) ;
long labs ( long n ) ;
long long llabs ( long long n ) ;
(seit C99)
Definiert im Header <inttypes.h>
intmax_t imaxabs ( intmax_t n ) ;
(seit C99)

Berechnet den absoluten Wert einer ganzen Zahl. Das Verhalten ist undefiniert, wenn das Ergebnis nicht durch den Rückgabetyp dargestellt werden kann.

Inhaltsverzeichnis

Parameter

n - Ganzzahlwert

Rückgabewert

Der absolute Wert von n (d.h. |n| ), falls er darstellbar ist.

Hinweise

In 2er-Komplement-Systemen liegt der Absolutwert des negativsten Werts außerhalb des Bereichs, z.B. für den 32-Bit-2er-Komplement-Typ int ist INT_MIN gleich - 2147483648 , aber das hypothetische Ergebnis 2147483648 ist größer als INT_MAX , welches 2147483647 beträgt.

Beispiel

#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
}

Ausgabe:

abs(+3) = 3
abs(-3) = 3
**Übersetzte Elemente:** - "Run this code" → "Diesen Code ausführen" - "Output:" → "Ausgabe:" **Nicht übersetzte Elemente:** - HTML-Tags und Attribute - Code innerhalb der `
` und `` Tags
- C++ spezifische Begriffe (abs, printf, INT_MIN, etc.)
- Kommentare im Code

Referenzen

  • C23-Standard (ISO/IEC 9899:2024):
  • 7.8.2.1 Die imaxabs-Funktion (S.: TBD)
  • 7.22.6.1 Die abs-, labs- und llabs-Funktionen (S.: TBD)
  • C17-Standard (ISO/IEC 9899:2018):
  • 7.8.2.1 Die imaxabs-Funktion (S. 159)
  • 7.22.6.1 Die abs-, labs- und llabs-Funktionen (S. 259)
  • C11-Standard (ISO/IEC 9899:2011):
  • 7.8.2.1 Die imaxabs-Funktion (S: 218)
  • 7.22.6.1 Die abs-, labs- und llabs-Funktionen (S: 356)
  • C99-Standard (ISO/IEC 9899:1999):
  • 7.8.2.1 Die imaxabs-Funktion (S: 199-200)
  • 7.20.6.1 Die abs-, labs- und llabs-Funktionen (S: 320)
  • C89/C90 Standard (ISO/IEC 9899:1990):
  • 4.10.6.1 Die abs-Funktion
  • 4.10.6.3 Die labs-Funktion

Siehe auch

(C99) (C99)
berechnet den absoluten Wert eines Gleitkommawerts ( |x| )
(Funktion)
(C99) (C99) (C99)
berechnet den Betrag einer komplexen Zahl
(Funktion)