-4

使用类 BigInteger 后,我在平台上的程序显示超出了内存限制。

4

2 回答 2

1

long 可以保存的最大值 (Long.MAX_VALUE) 是9,223,372,036,854,775,807. 正如您所说,您要保存一个等于12,000,000,000它的数字应该完全可以使用 long 保存它,因为您的数字仍然比 Long.MAX_VALUE 小得多......

于 2017-07-07T12:35:29.523 回答
1

Long 可以处理这个值。您应该记住在值后键入 L。例如:

long value = 12000000000L;

另一方面,BigInteger 理论上没有限制,因为它分配了它需要的内存量,限制是可用内存。您需要记住 BigInteger 类是不可变的,所以如果您调用 add、multiply、divide 或其他任何方法,它将返回一个新的 BigInteger 而不是修改当前的 BigInteger。您可以根据需要考虑实现自己的数据结构。您也可以考虑发布您的代码。

于 2017-07-07T12:51:00.783 回答