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
Definido en el encabezado <math.h>
float fabsf ( float arg ) ;
(1) (desde C99)
double fabs ( double arg ) ;
(2)
long double fabsl ( long double arg ) ;
(3) (desde C99)
_Decimal32  fabsd32 ( _Decimal32 arg ) ;
(4) (desde C23)
_Decimal64  fabsd64 ( _Decimal64 arg ) ;
(5) (desde C23)
_Decimal128 fabsd128 ( _Decimal128 arg ) ;
(6) (desde C23)
Definido en el encabezado <tgmath.h>
#define fabs( arith )
(7) (desde C99)
1-6) Calcula el valor absoluto de un valor de punto flotante arg .

Las funciones con parámetros de punto flotante decimal se declaran si y solo si la implementación predefine __STDC_IEC_60559_DFP__ (es decir, la implementación soporta números de punto flotante decimal).

(since C23)
7) Macro genérico de tipos: Si el argumento tiene tipo _Decimal128 , _Decimal64 , _Decimal32 , (desde C23) long double , double , o float , fabsd128 , fabsd64 , fabsd32 , (desde C23) fabsl , fabs , o fabsf se llama, respectivamente. De lo contrario, si el argumento tiene tipo entero, fabs se llama. De lo contrario, si el argumento es complejo, entonces el macro invoca la función compleja correspondiente ( cabsf , cabs , cabsl ). De lo contrario, el comportamiento es indefinido.

Contenidos

Parámetros

arg - valor de punto flotante
arith - valor de punto flotante o entero

Valor de retorno

Si tiene éxito, devuelve el valor absoluto de arg ( |arg| ). El valor devuelto es exacto y no depende de ningún modo de redondeo.

Manejo de errores

Esta función no está sujeta a ninguna de las condiciones de error especificadas en math_errhandling .

Si la implementación soporta aritmética de punto flotante IEEE (IEC 60559),

  • Si el argumento es ±0, se devuelve +0.
  • Si el argumento es ±∞, se devuelve +∞.
  • Si el argumento es NaN, se devuelve NaN.

Ejemplo

#include <math.h>
#include <stdio.h>
#define PI 3.14159
// Esta integración numérica asume que toda el área es positiva.
double integrate(double f(double),
                 double a, double b, // asumir a < b
                 unsigned steps) // asumir 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));
    // valores especiales
    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));
}

Salida:

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

Referencias

  • Estándar C23 (ISO/IEC 9899:2024):
  • 7.12.7.2 Las funciones fabs (p: TBD)
  • 7.25 Matemáticas genéricas de tipos <tgmath.h> (p: TBD)
  • F.10.4.2 Las funciones fabs (p: TBD)
  • Estándar C17 (ISO/IEC 9899:2018):
  • 7.12.7.2 Las funciones fabs (p: 181)
  • 7.25 Matemáticas genéricas de tipos <tgmath.h> (p: 272-273)
  • F.10.4.2 Las funciones fabs (p: 382)
  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.12.7.2 Las funciones fabs (p: 248)
  • 7.25 Matemáticas genéricas de tipo <tgmath.h> (p: 373-375)
  • F.10.4.2 Las funciones fabs (p: 524)
  • Estándar C99 (ISO/IEC 9899:1999):
  • 7.12.7.2 Las funciones fabs (p: 228-229)
  • 7.22 Matemáticas genéricas de tipos <tgmath.h> (p: 335-337)
  • F.9.4.2 Las funciones fabs (p: 460)
  • Estándar C89/C90 (ISO/IEC 9899:1990):
  • 4.5.6.2 La función fabs

Véase también

calcula el valor absoluto de un valor integral ( |x| )
(función)
produce un valor con la magnitud de un valor dado y el signo de otro valor dado
(función)
(C99)
verifica si el número dado es negativo
(macro de función)
(C99) (C99) (C99)
calcula la magnitud de un número complejo
(función)