我試圖打印出我正在使用的公式的值。方程式是:浮點值變得太小
(2^k)/(k!)
我正在使用Java和使用浮動,但我有一個問題,當k變大時發生。隨着它變得更大,等式的底部比頂部大得多。所以你可以想象這個方程的極限是0,但是隨着數量變小,它會超過1 * 10^-31
,而且一旦似乎超過了這個值,浮點數似乎會增加。我認爲這個數字太小了,一旦它通過,10^-31
Java會作出反應並使其成爲一個更大的值。類似於如果浮動值超過Float.MAX_VALUE
,它將變爲-Float.MAX_VALUE
。有誰知道如何解決這個問題?它正在搞亂我想要完成的結果。
謝謝。
如果你真的需要計算一個很大的值,那麼使用'BigInteger'類或'BigDecimal'如何? – 2015-04-06 04:38:09
事情是它不是一個「大」的價值,它的價值「那麼小」。此外,我使用Java的圖形庫來繪製等式值大小的線。所以我需要能夠繪製出價值 – Jmrapp 2015-04-06 04:40:39
這是我需要處理的任務。我正在畫k的方程結果的長度。我不知道你的意思是不需要計算k。是的,我需要它的方程,就像它說的那樣...我運行k從1到n,其中n是指定的任何值。 – Jmrapp 2015-04-06 04:45:51