最近我开始在Java中使用GMP,通过一个包装(从这个Github回购)对于涉及极端数字的一些计算。
“极端”,我的意思是有时数字超过700万位数。如何将此方法更改为返回字符串列表而不是字符串?
一切工作绝对正常,但我打算做一个计算估计会产生一个大约80亿位数的数字,尽管GMP库可以处理这个问题,并且执行代码的机器具有足够的内存,问题是以10为基数获取此数字的唯一方法是通过方法toString(int base)
(或简单地toString()
)返回包含指定基数的数字的字符串,但由于字符串依赖于一个char
数组来保存字母,如果我没有弄错,它将不能保存8亿个字母,因为最大阵列大小为2^32-6
。
从Java可惜APPART我不知道任何其他语言不够好......
因此,我的问题是,如何能在GMP包装(也可能是本地代码),以改变以返回List<String>
而不是单数String
与数字? 如果这太难或者甚至不可能,那么在Java中有没有其他的选择可以处理大的数字?
谢谢!
@azurefrog同样的问题,80亿个数字不能转换为一个'String'。我想知道OP计划如何处理这80亿位数字。 –
回答如何在不知道代码现在的样子的情况下修改某些代码有点困难。 – tradeJmark
@tradeJmark如果你引用我的代码,修改它并不能解决问题,因为屏障是位于我的代码和上面提到的GMP包装器之间的字符串。如果这种方法可以以某种方式改变,那么它将一切正常。 –