fabs, fabsf, fabsl, fabsd32, fabsd64, fabsd128
Von cppreference.com
| 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 Absolutwert eines Gleitkommazahlenwerts arg.
|
Die Funktionen mit Dezimal-Gleitkomma-Parametern werden genau dann deklariert, wenn die Implementierung |
(seit C23) |
7) Typ-generisches Makro: Wenn das Argument vom Typ _Decimal128, _Decimal64, _Decimal32,(seit C23)long double, double, oder float ist, wird entsprechend
fabsd128, fabsd64, fabsd32,(seit C23)fabsl, fabs, oder fabsf aufgerufen. Andernfalls, wenn das Argument einen Ganzzahltyp hat, wird fabs aufgerufen. Andernfalls, wenn das Argument komplex ist, ruft das Makro die entsprechende komplexe Funktion (cabsf, cabs, cabsl) auf. Andernfalls ist das Verhalten undefiniert.Inhalt |
[edit] Parameter
| arg | - | Gleitkommawert |
| arith | - | Gleitkomma- oder Ganzzahlwert |
[edit] Rückgabewert
Bei Erfolg wird der Absolutwert von arg (|arg|) zurückgegeben. Der zurückgegebene Wert ist exakt und hängt nicht von Rundungsmodi ab.
[edit] Fehlerbehandlung
Diese Funktion unterliegt keiner der in math_errhandling angegebenen Fehlerbedingungen.
Wenn die Implementierung IEEE-Gleitkomma-Arithmetik (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.
[edit] Beispiel
Führen Sie diesen Code aus
#include <math.h> #include <stdio.h> #define PI 3.14159 // This numerical integration assumes all area is positive. double integrate(double f(double), double a, double b, // assume a < b unsigned steps) // assume steps > 0 { 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)); // special values printf("fabs(-0) = %f\n", fabs(-0.0)); printf("fabs(-Inf) = %f\n", fabs(-INFINITY)); printf("Area under 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
[edit] Referenzen
- C23-Standard (ISO/IEC 9899:2024)
- 7.12.7.2 Die fabs-Funktionen (S. TBD)
- 7.25 Typ-generische 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 Typ-generische 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 Typ-generische 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 Typ-generische 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
[edit] Siehe auch
| (C99) |
berechnet den Absolutwert eines ganzzahligen Wertes (|x|) (Funktion) |
| (C99)(C99)(C99) |
erzeugt einen Wert mit dem Betrag 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) |
| C++ Dokumentation für fabs
| |