expm1, expm1f, expm1l Funciones en C

expm1(), expm1f(), expm1l() se introdujeron con C99 y están disponibles en el archivo de encabezado <math.h>. Estos se utilizan para calcular el Número de Euler, e (2,7182818) elevado a una potencia igual al parámetro proporcionado menos 1,0, es decir, e x – 1.

expm1(x), expm1f(x), exmp1l(x) = e x – 1

Ejemplo:

doble expm1 (argumento doble);

flotar exp1f (argumento flotante);

long double expm1l(long double arg);

Sintaxis:

exp1(x);

exmp1f(x);

ejemplo1l(x);

Parámetros:

Función Parámetro
exp1(x) x ⇒ flotante
exp1f(x) x ⇒ doble
exp1l(x) x ⇒ largo doble

Valores devueltos:

1. Si no se produce ningún error:

Función Valor devuelto
exp1(x) e x – 1 ⇒ flotante
exp1f(x) e x -1 ⇒ doble
exp1l(x) e x – 1 ⇒ largo doble

2. Si ocurre un error de rango debido a un desbordamiento:

Función Valor devuelto
exp1(x)  +ENORME_VALOR
exp1f(x) +ENORME_VALOR
exp1l(x) +ENORME_VALL

3. Si se produce un error de rango debido a un desbordamiento: si se produce un error de rango debido a un desbordamiento, se devuelve el resultado redondeado.

4. Casos excepcionales: Los errores informados se manejan como se especifica en  math_errhandling.

Parámetro Valor devuelto
±0 ±0
Yaya Yaya
-∞ -1
+∞ +∞

Ejemplo 1: A continuación se muestra el programa C para implementar exp1():

C

// C program to implement 
// exp1()
#include <math.h>
#include <stdio.h>
  
// Driver code
int main()
{
    double arg = 2.2310233;
    printf("%lf\n", 
            expm1(arg));
    return 0;
}
Producción

8.309388

Ejemplo 2: A continuación se muestra el programa C para implementar exp1f():

C

// C program to implement
// exp1f()
#include <math.h>
#include <stdio.h>
  
// Driver code
int main()
{
    float arg = 4.121;
    printf("%f\n", 
            expm1f(arg));
    return 0;
}
Producción

60.620819

Ejemplo 3: A continuación se muestra el programa C para implementar exp1l():

C

// C program to implement
// exp1l()
#include <math.h>
#include <stdio.h>
  
// Driver code
int main()
{
    long double arg = 5.212323323441;
    printf("%Lf\n", 
            expm1l(arg));
    return 0;
}
Producción

182.519939

¿Por qué usar expm1, expm1f, expm1l?

  • Estas funciones son más precisas que la expresión e x – 1 si x → 0.
  • Son muy útiles para cálculos financieros, como calcular tasas de interés (pequeñas), y para calcular el inverso de funciones hiperbólicas.

Publicación traducida automáticamente

Artículo escrito por phasing17 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *