Función de la biblioteca C -exp()

C 标准库 - <math.h>Biblioteca estándar de C - <math.h>

Descripción

Función de la biblioteca Cdouble exp(double x)Devuelveedexel valor de la potencia.

exp()es una función de la biblioteca estándar de C<math.h>en <math.h>, utilizada para calcular e elevado a x, donde e es la base del logaritmo natural (aproximadamente 2.71828). Esta es una función matemática de uso común, ampliamente utilizada en campos como el cálculo científico, las finanzas y la ingeniería.

Declaración

A continuación se muestra la declaración de la función exp().

#include <math.h>

double exp(double x);
float expf(float x);
long double expl(long double x);

Parámetros

  • x: un número real de entrada, que representa el exponente a calcular.

Valor de retorno

Esta función devuelve e elevado a x.

Ejemplo

El siguiente ejemplo demuestra el uso de la función exp().

Ejemplo

#include <stdio.h>
#include <math.h>

int main ()
{
   double x = 0;
 
   printf("e elevado a %lf es %lf\n", x, exp(x));
   printf("e elevado a %lf es %lf\n", x+1, exp(x+1));
   printf("e elevado a %lf es %lf\n", x+2, exp(x+2));
   
   return(0);
}

Compilemos y ejecutemos el programa anterior, lo que producirá el siguiente resultado:

e 的 0.000000 次幂是 1.000000
e 的 1.000000 次幂是 2.718282
e 的 2.000000 次幂是 7.389056

Calcular la exponencial de varios valores

El siguiente ejemplo muestra cómo calcular la exponencial de varios valores:

Ejemplo

#include <stdio.h>
#include <math.h>

int main() {
    double values[] = {0, 0.5, 1, 1.5, 2};
    int num_values = sizeof(values) / sizeof(values[0]);

    for (int i = 0; i < num_values; i++) {
        double x = values[i];
        double result = exp(x);
        printf("exp(%f) = %f\n", x, result);
    }

    return 0;
}

Compilemos y ejecutemos el programa anterior, lo que producirá el siguiente resultado:

exp(0.000000) = 1.000000
exp(0.500000) = 1.648721
exp(1.000000) = 2.718282
exp(1.500000) = 4.481689
exp(2.000000) = 7.389056

Análisis del código

  • Define un array que contiene varios valores.values。
  • Usandoforun bucle para recorrer cada valor, calcular el valor exponencial e imprimir el resultado.

Manejo de errores

exp()La función puede causar un desbordamiento superior (overflow) cuando el valor de entrada es demasiado grande. En este caso, la función devuelve infinito positivo, yerrnose establece enERANGE. Se puede usarerrnopara comprobar si se ha producido un error de desbordamiento.

El siguiente ejemplo muestra cómo manejar los errores de desbordamiento superior:

Ejemplo

#include <stdio.h>
#include <math.h>
#include <errno.h>

int main() {
    double x = 1000.0;
    errno = 0;  // Restablecer errno
    double result = exp(x);

    if (errno == ERANGE) {
        printf("Overflow error: exp(%f) result is out of range.\n", x);
    } else {
        printf("exp(%f) = %f\n", x, result);
    }

    return 0;
}

Compilemos y ejecutemos el programa anterior, lo que producirá el siguiente resultado:

exp(1000.000000) = inf

Análisis del código

  • El código intenta calcularexp(1000.0), que es un valor de entrada que puede provocar un desbordamiento superior.
  • errnose restablece a 0, y luego se llama aexp(x)。
  • comprobarerrnosi es igual aERANGE, si es así, se imprime el mensaje de error de desbordamiento.
  • Si no hay errores, se imprime el resultado del cálculo.

Resumen

exp()La función se usa para calcular e elevado a x, es una herramienta importante para tratar operaciones exponenciales. Al usarla, se debe tener en cuenta el manejo de posibles errores de desbordamiento. Mediante el uso razonable deexp()la función, se pueden obtener resultados precisos en cálculos matemáticos, simulaciones físicas y aplicaciones de ingeniería.

C 标准库 - <math.h>Biblioteca estándar de C - <math.h>

Otras extensiones