Namespaces
Variants

fabs, fabsf, fabsl, fabsd32, fabsd64, fabsd128

From cppreference.net
< c ‎ | numeric ‎ | math
Common mathematical functions
Functions
Basic operations
(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 in Header <math.h>
float fabsf ( float arg ) ;
(1) (seit C99)
double fabs ( double arg ) ;
(2)
long double fabsl ( long double arg ) ;
(3) (seit C99)
_Decimal32  fabsd32 ( _Decimal32 arg ) ;
(4) (seit C23)
_Decimal64  fabsd64 ( _Decimal64 arg ) ;
(5) (seit C23)
_Decimal128 fabsd128 ( _Decimal128 arg ) ;
(6) (seit C23)
Definiert in Header <tgmath.h>
#define fabs( arith )
(7) (seit C99)
1-6) Berechnet den absoluten Wert eines Gleitkommawerts arg .

Die Funktionen mit Dezimalgleitkomma-Parametern werden genau dann deklariert, wenn die Implementierung __STDC_IEC_60559_DFP__ vordefiniert (d.h. die Implementierung unterstützt Dezimalgleitkommazahlen).

(seit C23)
7) Typgenerisches Makro: Wenn das Argument den Typ _Decimal128 , _Decimal64 , _Decimal32 , (seit C23) long double , double , oder float hat, fabsd128 , fabsd64 , fabsd32 , (seit C23) fabsl , fabs , oder fabsf wird entsprechend aufgerufen. Andernfalls, wenn das Argument einen Ganzzahltyp hat, wird fabs aufgerufen. Andernfalls, wenn das Argument komplex ist, ruft das Makro die entsprechende komplexe Funktion auf ( cabsf , cabs , cabsl ). Andernfalls ist das Verhalten undefiniert.

Inhaltsverzeichnis

Parameter

arg - Gleitkommawert
arith - Gleitkomma- oder Ganzzahlwert

Rückgabewert

Bei Erfolg wird der absolute Wert von arg ( |arg| ) zurückgegeben. Der zurückgegebene Wert ist exakt und hängt von keinem Rundungsmodus ab.

Fehlerbehandlung

Diese Funktion unterliegt keinen der in math_errhandling spezifizierten Fehlerbedingungen.

Wenn die Implementierung IEEE-Gleitkommaarithmetik (IEC 60559) unterstützt,

  • Wenn das Argument ±0 ist, wird +0 zurückgegeben.
  • Wenn das Argument ±∞ ist, wird +∞ zurückgegeben.
  • Wenn das Argument NaN ist, wird NaN zurückgegeben.

Beispiel

#include <math.h>
#include <stdio.h>
#define PI 3.14159
// Diese numerische Integration nimmt an, dass alle Flächen positiv sind.
double integrate(double f(double),
                 double a, double b, // nehme a < b an
                 unsigned steps) // nehme steps > 0 an
{
    const double dx = (b - a) / steps;
    double sum = 0.0;
    for (double x = a; x < b; x += dx)
        sum += fabs(f(x));
    return dx * sum;
}
int main(void)
{
    printf("fabs(+3) = %f\n", fabs(+3.0));
    printf("fabs(-3) = %f\n", fabs(-3.0));
    // spezielle Werte
    printf("fabs(-0) = %f\n", fabs(-0.0));
    printf("fabs(-Inf) = %f\n", fabs(-INFINITY));
    printf("Fläche unter sin(x) in [-PI, PI] = %f\n", integrate(sin, -PI, PI, 5101));
}

Ausgabe:

fabs(+3) = 3.000000
fabs(-3) = 3.000000
fabs(-0) = 0.000000
fabs(-Inf) = inf
Area under sin(x) in [-PI, PI] = 4.000000

Referenzen

  • C23-Standard (ISO/IEC 9899:2024):
  • 7.12.7.2 Die fabs-Funktionen (S.: TBD)
  • 7.25 Typgenerische Mathematik <tgmath.h> (S.: TBD)
  • F.10.4.2 Die fabs-Funktionen (S.: TBD)
  • C17-Standard (ISO/IEC 9899:2018):
  • 7.12.7.2 Die fabs-Funktionen (S. 181)
  • 7.25 Typgenerische Mathematik <tgmath.h> (S. 272-273)
  • F.10.4.2 Die fabs-Funktionen (S. 382)
  • C11-Standard (ISO/IEC 9899:2011):
  • 7.12.7.2 Die fabs-Funktionen (S: 248)
  • 7.25 Typgenerische Mathematik <tgmath.h> (S: 373-375)
  • F.10.4.2 Die fabs-Funktionen (S: 524)
  • C99-Standard (ISO/IEC 9899:1999):
  • 7.12.7.2 Die fabs-Funktionen (S. 228-229)
  • 7.22 Typgenerische Mathematik <tgmath.h> (S. 335-337)
  • F.9.4.2 Die fabs-Funktionen (S. 460)
  • C89/C90 Standard (ISO/IEC 9899:1990):
  • 4.5.6.2 Die fabs-Funktion

Siehe auch

berechnet den absoluten Wert eines ganzzahligen Werts ( |x| )
(Funktion)
erzeugt einen Wert mit der Größe eines gegebenen Werts und dem Vorzeichen eines anderen gegebenen Werts
(Funktion)
(C99)
prüft, ob die gegebene Zahl negativ ist
(Funktionsmakro)
(C99) (C99) (C99)
berechnet den Betrag einer komplexen Zahl
(Funktion)