我试图打印出我正在使用的公式的值。方程式是:浮点值变得太小
(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