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
Défini dans l'en-tête <math.h>
float fabsf ( float arg ) ;
(1) (depuis C99)
double fabs ( double arg ) ;
(2)
long double fabsl ( long double arg ) ;
(3) (depuis C99)
_Decimal32  fabsd32 ( _Decimal32 arg ) ;
(4) (depuis C23)
_Decimal64  fabsd64 ( _Decimal64 arg ) ;
(5) (depuis C23)
_Decimal128 fabsd128 ( _Decimal128 arg ) ;
(6) (depuis C23)
Défini dans l'en-tête <tgmath.h>
#define fabs( arith )
(7) (depuis C99)
1-6) Calcule la valeur absolue d'une valeur en virgule flottante arg .

Les fonctions avec des paramètres en virgule flottante décimale sont déclarées si et seulement si l'implémentation prédéfinit __STDC_IEC_60559_DFP__ (c'est-à-dire que l'implémentation prend en charge les nombres en virgule flottante décimale).

(depuis C23)
7) Macro générique de type : Si l'argument a le type _Decimal128 , _Decimal64 , _Decimal32 , (depuis C23) long double , double , ou float , fabsd128 , fabsd64 , fabsd32 , (depuis C23) fabsl , fabs , ou fabsf est appelée, respectivement. Sinon, si l'argument a un type entier, fabs est appelée. Sinon, si l'argument est complexe, alors la macro invoque la fonction complexe correspondante ( cabsf , cabs , cabsl ). Sinon, le comportement est indéfini.

Table des matières

Paramètres

arg - valeur en virgule flottante
arith - valeur en virgule flottante ou entière

Valeur de retour

En cas de succès, retourne la valeur absolue de arg ( |arg| ). La valeur retournée est exacte et ne dépend d'aucun mode d'arrondi.

Gestion des erreurs

Cette fonction n'est soumise à aucune des conditions d'erreur spécifiées dans math_errhandling .

Si l'implémentation prend en charge l'arithmétique à virgule flottante IEEE (IEC 60559),

  • Si l'argument est ±0, +0 est retourné.
  • Si l'argument est ±∞, +∞ est retourné.
  • Si l'argument est NaN, NaN est retourné.

Exemple

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

Sortie :

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

Références

  • Norme C23 (ISO/IEC 9899:2024):
  • 7.12.7.2 Les fonctions fabs (p: TBD)
  • 7.25 Mathématiques génériques de type <tgmath.h> (p: TBD)
  • F.10.4.2 Les fonctions fabs (p: TBD)
  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.12.7.2 Les fonctions fabs (p: 181)
  • 7.25 Mathématiques génériques <tgmath.h> (p: 272-273)
  • F.10.4.2 Les fonctions fabs (p: 382)
  • Norme C11 (ISO/IEC 9899:2011) :
  • 7.12.7.2 Les fonctions fabs (p: 248)
  • 7.25 Mathématiques génériques <tgmath.h> (p: 373-375)
  • F.10.4.2 Les fonctions fabs (p: 524)
  • Norme C99 (ISO/CEI 9899:1999) :
  • 7.12.7.2 Les fonctions fabs (p : 228-229)
  • 7.22 Mathématiques génériques de type <tgmath.h> (p : 335-337)
  • F.9.4.2 Les fonctions fabs (p : 460)
  • Norme C89/C90 (ISO/IEC 9899:1990) :
  • 4.5.6.2 La fonction fabs

Voir aussi

calcule la valeur absolue d'une valeur entière ( |x| )
(fonction)
produit une valeur avec la magnitude d'une valeur donnée et le signe d'une autre valeur donnée
(fonction)
(C99)
vérifie si le nombre donné est négatif
(macro de fonction)
(C99) (C99) (C99)
calcule la magnitude d'un nombre complexe
(fonction)