我正在計算一個公式,並想知道如何在C#中編寫exp(a/b)
。 我聽說math.exp
,但它只需要一個參數。如何在C#中編寫exp(a/b)?
回答
因爲它在文檔中的Math.Exp說,
使用Pow方法可計算其他底的權力 。
http://msdn.microsoft.com/en-us/library/system.math.pow.aspx
如果你傳遞A/B的結果(即除以b),那麼結果是單一的值,它可以傳遞給Math.Exp。
就像Daniel在他的回答中已經提到的那樣,使用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
丹尼爾在這個答案評論提到正確的,一旦你定義a
和b
爲double
可以省略劇組到double
,並使用這兩個變量在Math.Exp
師:
double a = 1;
double b = 2;
Math.Exp(a/b);
NB。只有在'a'和'b'不是'double'類型的情況下才會添加轉換。 – 2010-08-11 16:44:51
@Daniel真,謝謝。我已經更新了我的答案以包含您的評論,儘管我假設他會在不定義變量的情況下調用它 – 2010-08-11 16:52:39
? 'a/b'只有一個值 – 2010-08-11 18:32:20