2010-08-11 1427 views
0

我正在計算一個公式,並想知道如何在C#中編寫exp(a/b)。 我聽說math.exp,但它只需要一個參數。如何在C#中編寫exp(a/b)?

+0

? 'a/b'只有一個值 – 2010-08-11 18:32:20

回答

7

就像Daniel在他的回答中已經提到的那樣,使用Math.Exp

隨着我的回答,我想指出一點你可以避免在你的情況下陷阱。

如果你要打電話Math.Exp就像你在你的問題中提到,即Math.Exp(a/b),其中ab是兩個整數,而不是變量,別忘了分子轉換爲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 

丹尼爾在這個答案評論提到正確的,一旦你定義abdouble可以省略劇組到double,並使用這兩個變量在Math.Exp師:

double a = 1; 
double b = 2; 
Math.Exp(a/b); 
+1

NB。只有在'a'和'b'不是'double'類型的情況下才會添加轉換。 – 2010-08-11 16:44:51

+0

@Daniel真,謝謝。我已經更新了我的答案以包含您的評論,儘管我假設他會在不定義變量的情況下調用它 – 2010-08-11 16:52:39