双精度值

时间:2010-05-09 19:16:09

标签: java double precision

就在我参与Google Code Jam资格赛前一天。这是我第一次参加这样的在线编码比赛。真的很有趣。

我有三个问题可以解决两个问题。但在其中一个问题上,我被要求使用非常庞大的价值观。我是一个Java人,我以为我会选择双变量。不幸的是,双精度也不够。此外,我在闭幕阶段就参加了此课程,我没有时间深入研究(加上解决方案1足以符合下一阶段的资格)。

我的问题是,如何使用大于double的精度机制。我的编码经验是用Java编写的,所以如果你能在这些方面回答它会很棒。

由于

3 个答案:

答案 0 :(得分:5)

Java有BigDecimall用于任意精度算术 - 但它比使用double慢得多。

有问题的问题也可能是通过使用代数变换来解决的。使用对数。

答案 1 :(得分:2)

如果问题需要整数,则可以使用BigInteger。

此外,long对于整数来说略好于double,63位与53位精度相比(假设为正数)。

答案 2 :(得分:1)

您可以使用任意精确数字,例如BigDecimal - 它的速度较慢,但​​与您指定的一样精确。