任意..不精确的算术?

时间:2017-03-18 14:44:38

标签: java math arbitrary-precision

我目前正在实施游戏服务器,以获得我在Java中的一点游戏理念。游戏将(最终)处理非常大的数字,例如1e1000甚至更大,所以显然所有原始数据类型都已经出局,因为double只有大约1e320ish。所以我尝试过像BigDecimal和BigInteger这样的东西,但这些方式太慢了,因为我想添加/ sub / mul(如果可能的话,div [虽然我可以限制自己只能除以2,所以它可以被移位]每秒数千次。

我认为部分原因是Java中的BigInt / Dec是不可变的,因此可以通过多种方式进行复制。我发现a library声称通过执行这些操作会更快。

然而,我想知道,我真的不需要任意精度库,事实上,如果前5或10位数和指数位于正确的球场,我根本不关心精度,我很好。

有没有办法通过大量精确交易来获得显着的速度提升?如果是这样,有没有关于如何实现这一目标的指示?

我一直在考虑修补上面so it only deals with the most significant entries in the magnitude array之上的链接BigInt库。但我是a)不确定这是否是正确的方法,并且b)在该代码中似乎有很多黑魔法。

0 个答案:

没有答案