我在一个程序中乘以两个巨大的BigInteger值。它失败了。 BigInteger
和BigDecimal
的限制是什么?
答案 0 :(得分:5)
你不会得到NumberFormatException乘以大数。如果产生的数字太大,当数组大小溢出时,你会得到一个神秘的NegativeArraySizeException。
您更有可能出现内存不足错误。
BigInteger的限制为32 * 2 ^ 32-1位,约为2 ^(40亿)。
如果你
,你可以获得NumberFormatException当你得到一个异常时,你也应该查看消息和堆栈跟踪,因为这通常会给你真正的原因。
答案 1 :(得分:1)
应该没有限制,除了内存,但根据类的实现可能有限制(例如,某些字段可能有int或long)。