fabs, fabsf, fabsl, fabsd32, fabsd64, fabsd128
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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) |
|
Las funciones con parámetros de punto flotante decimal se declaran si y solo si la implementación predefine
|
(since C23) |
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 ( \(\small |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
|
(C99)
|
calcula el valor absoluto de un valor integral (
\(\small{|x|}\)
|x|
)
(función) |
|
(C99)
(C99)
(C99)
|
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) |
|
Documentación de C++
para
fabs
|
|