Namensräume
Varianten
Aktionen

abs, labs, llabs, imaxabs

Von cppreference.com
< c‎ | numerik‎ | math
 
 
 
Allgemeine mathematische Funktionen
Funktionen
Grundlegende Operationen
abslabsllabsimaxabs
(C99)(C99)
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
Maximum/Minimum-Operationen
(C99)
(C99)
Exponentialfunktionen
(C23)
(C99)
(C99)
(C23)
(C23)

(C99)
(C99)(C23)
(C23)
(C23)
Potenzfunktionen
(C99)
(C23)
(C23)

(C99)
(C23)
(C23)
Trigonometrische und hyperbolische Funktionen
(C23)
(C23)
(C23)
(C23)
(C99)
(C99)
(C99)
Nächste ganze Gleitkommazahlen
(C99)(C99)(C99)
(C99)

(C99)(C99)(C99)
(C23)(C23)(C23)(C23)
Gleitkomma-Manipulation
(C99)(C99)
(C99)(C23)
(C99)
Verengende Operationen
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
Quanten- und Quantenexponent-Funktionen
Dezimal-Neu-Kodierungsfunktionen
Gesamtordnung und Payload-Funktionen
Klassifizierung
(C99)
(C99)
(C99)
(C23)
Fehler- und Gammafunktionen
(C99)
(C99)
(C99)
(C99)
Typen
Makrokonstanten
Spezielle Gleitkommawerte
(C99)(C23)
Argumente und Rückgabewerte
Fehlerbehandlung
Schnelle Operationsanzeigen
 
Definiert im Header <stdlib.h>
int        abs( int n );
long      labs( long n );
long long llabs( long long n );
(seit C99)
Definiert in Header <inttypes.h>
intmax_t imaxabs( intmax_t n );
(seit C99)

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

Inhalt

[bearbeiten] Parameter

n - ganzzahliger Wert

[bearbeiten] Rückgabewert

Der Absolutwert von n (d. h. |n|), falls dieser darstellbar ist.

[bearbeiten] Anmerkungen

In Zweierkomplement-Systemen liegt der Absolutwert des betragsmäßig größten negativen Wertes außerhalb des Wertebereichs. Beispielsweise ist für einen 32-Bit-Zweierkomplement-Typ int INT_MIN -2147483648, aber das daraus resultierende Ergebnis 2147483648 ist größer als INT_MAX, welcher 2147483647 ist.

[bearbeiten] 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

[bearbeiten] Referenzen

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

[bearbeiten] Siehe auch

(C99)(C99)
berechnet den Absolutwert eines Gleitkommawerts (|x|)
(Funktion) [bearbeiten]
(C99)(C99)(C99)
berechnet den Betrag einer komplexen Zahl
(Funktion) [bearbeiten]