使用类 BigInteger 后,我在平台上的程序显示超出了内存限制。
问问题
116 次
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 回答