Функции библиотеки C -exp()

Стандартная библиотека C - <math.h>

Описание

Функции библиотеки Cdouble exp(double x)возвращаетeзначениеxстепени.

exp()является стандартной библиотекой C<math.h>функция, используемая для вычисления e в степени x, где e — основание натурального логарифма (приблизительно 2.71828). Это часто используемая математическая функция, широко применяемая в научных вычислениях, финансах, инженерии и других областях.

Объявление

Ниже приведено объявление функции exp().

#include <math.h>

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

Параметр

  • x: входное вещественное число, представляющее вычисляемый показатель степени.

Возвращаемое значение

Эта функция возвращает e в степени x.

Пример

Пример ниже демонстрирует использование функции exp().

Пример

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

int main ()
{
   double x = 0;
 
   printf("e в степени %lf равно %lf\n", x, exp(x));
   printf("e в степени %lf равно %lf\n", x+1, exp(x+1));
   printf("e в степени %lf равно %lf\n", x+2, exp(x+2));
   
   return(0);
}

Давайте скомпилируем и запустим приведённую выше программу, которая выдаст следующий результат:

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

Вычислить экспоненты нескольких значений

В следующем примере показано, как вычислить экспоненты нескольких значений:

Пример

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

Давайте скомпилируем и запустим приведённую выше программу, которая выдаст следующий результат:

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

Пояснение кода

  • Определите массив, содержащий несколько значенийvalues。
  • ИспользованиеforПройдите в цикле по каждому значению, вычислите значение экспоненты и выведите результат.

Обработка ошибок

exp()Если входное значение слишком велико, функция может вызвать переполнение. В этом случае функция возвращает положительную бесконечность, иerrnoУстановить вERANGE. Можно использоватьerrnoчтобы проверить, произошла ли ошибка переполнения.

В следующем примере показано, как обрабатывать ошибки переполнения:

Пример

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

int main() {
    double x = 1000.0;
    errno = 0;  // Сбросить errno
    double result = exp(x);

    if (errno == ERANGE) {
        printf("Ошибка переполнения: результат exp(%f) выходит за пределы допустимого диапазона.\n", x);
    } else {
        printf("exp(%f) = %f\n", x, result);
    }

    return 0;
}

Давайте скомпилируем и запустим приведённую выше программу, которая выдаст следующий результат:

exp(1000.000000) = inf

Пояснение кода

  • Код пытается вычислитьexp(1000.0), это входное значение, которое может вызвать переполнение.
  • errnoсбрасывается в 0, а затем вызываетсяexp(x)。
  • ПроверяетerrnoРавно ли оноERANGE, если так, выведите сообщение об ошибке переполнения.
  • Если ошибок нет, выведите результат вычисления.

Итог

exp()Функция используется для вычисления e в степени x и является важным инструментом для обработки экспоненциальных операций. При её использовании следует позаботиться об обработке возможных ошибок переполнения. При правильном использованииexp()функция, которая может давать точные результаты в математических расчётах, физическом моделировании и инженерных приложениях.

Стандартная библиотека C - <math.h>

Другие расширения