我正在實現一種算法,其中我需要很高的小數精度,因此我使用的是BigDecimal,但Math.exp只需要double參數。Java中的Math.exp函數的侷限性
值在運行時產生和作爲參數傳遞給Math.exp 即
BigDecimal mathEx = new BigDecimal(Math.exp(xMulXPoint5.doubleValue()));
Where xMulXPoint5 = -347222407183165.419208175
mathEx結果值變爲如此之小,結果顯示零,而不是實際的小的值。
任何人都可以請建議任何其他方式來解決這個問題。
即使Wolfram Alpha的想不計算此。你打算怎麼處理它,只用它的日誌來代表它可以嗎?例如,如果你要將這個乘以一個非常大的值,那麼你可以添加兩者的日誌,並希望得到一個更可行的數字。 – harold