我正在计算公式,并想知道如何在C#中编写exp(a/b)
。
我听说过math.exp
,但它只需要一个参数。
答案 0 :(得分:8)
正如在Math.Exp的文档中所述,
使用Pow方法计算功率 其他基地。
http://msdn.microsoft.com/en-us/library/system.math.pow.aspx
如果你传递的是a / b的结果(也就是除以b),那么该结果就是一个值,可以传递给Math.Exp。
答案 1 :(得分:7)
丹尼尔在答案中已经提到过,使用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
正如Daniel在对此答案的评论中正确提到的那样,将double
和a
定义为b
后,可以省略对double
的强制转换,并使用这两个变量对于Math.Exp
中的分工:
double a = 1;
double b = 2;
Math.Exp(a/b);