Как рассчитать постоянную Эйлера или питание Эйлера в C ++?

Я пытаюсь найти более «естественный» способ использования числа е в C / C ++. Я сосредоточен на вычислении функции е^ П.

Я думаю, что «cmath», по умолчанию, не обеспечивает поддержку как (функции, так и константы). Однако можно включить константы, определенные компилятором, в этом случае M_E, Это может быть сделано путем включения заявления #define _USE_MATH_DEFINES,

С другой стороны, е можно определить как константу:

#define E 2.71828182845904523536;

или же

const double EULER = 2.71828182845904523536;

Сказал это. Какой самый «стандартный» способ приближения к этой математической константе? Это какая-то другая библиотека?

9

Решение

Если вы можете избежать использования символа препроцессора, вам следует. Это доставит вам неприятности, когда вы меньше всего этого ожидаете. E скорее всего, будет переменной.

Предложенное решение:

#include <cmath>
const double EulerConstant = std::exp(1.0);

Преимущество вычисления константы вместо присвоения литерала с плавающей запятой состоит в том, что она будет давать результат с точностью, соответствующей точности double тип данных для вашей конкретной реализации C ++. И это исключает возможность внесения ошибки, случайно пропуская цифру.

Как показано выше, <cmath> объявляет std::exp, так что вам не нужно кататься самостоятельно.

16

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

Других решений пока нет …

По вопросам рекламы [email protected]