BigInteger没有限制是什么意思?

2022-08-31 17:10:53

我研究了这个与Big Integer相关的堆栈溢出问题,特别是我不理解这一行(斜体字):

在BigInteger类中,我没有限制,那里有一些有用的函数,但是将漂亮的代码转换为BigInteger类是非常令人沮丧的,特别是当原始运算符不在那里工作时,您必须使用该类中的函数。

我不知道我错过了什么,但要代表没有限制的东西,你需要无限的内存?这是什么诀窍?


答案 1

没有理论上的限制。该类为要求它保存的所有数据位分配所需的内存。BigInteger

但是,有一些实际限制,由可用内存决定。还有进一步的技术限制,尽管您不太可能受到影响:某些方法假设位可以通过索引寻址,因此当您超过位时,事情将开始中断。intInteger.MAX_VALUE


答案 2

格雷厄姆对这个问题给出了很好的答案。我只想补充一点,你必须小心方法,因为它是使用参数创建的,所以最大值是。valueOflongLong.MAX_VALUE


推荐