Функции библиотеки 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 <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 <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 <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()функция, которая может давать точные результаты в математических расчётах, физическом моделировании и инженерных приложениях.