Как вы пишете exp (a / b) на C #? - PullRequest
       0

Как вы пишете exp (a / b) на C #?

0 голосов
/ 11 августа 2010

Я вычисляю формулу и хотел бы знать, как написать exp(a/b) на C #.Я слышал о math.exp, но он принимает только один параметр.

Ответы [ 2 ]

8 голосов
/ 11 августа 2010

Как сказано в документах по Math.Exp,

Используйте метод Pow для вычисления сил других баз.

http://msdn.microsoft.com/en-us/library/system.math.pow.aspx

Если вы передаете результат a / b (то есть, деленный на b), то этот результат является единственным значением, которое может быть передано в Math.Exp.

7 голосов
/ 11 августа 2010

Как Даниил уже упоминал в своем ответе, используйте Math.Exp.

В своем ответе я хотел бы указать на небольшую ловушку, которую вы можете избежать в вашей ситуации.

Если вы собираетесь позвонить Math.Exp, как вы упомянули в своем вопросето есть Math.Exp(a/b), где a и b - два целых числа, а не переменные, не забудьте привести числитель к double:

Math.Exp((double)1/2);

Если вы этого не сделаетечто деление будет выполнено с двумя int с, что приведет к потере точности (см. комментарии в коде):

Math.Exp(1/2); //results in 1, since 1/2 = 0 and e^0 = 1
Math.Exp((double)1/2); //results in 1.64872127070013, since (double)1/2 = 0.5

Как правильно сказал Даниил в комментарии к этому ответу,приведение к double может быть опущено после определения a и b как double и использования обеих переменных для деления в Math.Exp:

double a = 1;
double b = 2;
Math.Exp(a/b);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...