如何处理 java 中大于 BigInteger 的大数?

How to handle large number that is bigger than BigInteger in java?

输入:

BigInteger l = BigInteger.valueOf(111111111111111110);

编译错误信息

Integer number too large

我的objective是将给定的大数不断递减直到某个值(比如K)。

我怎样才能做到这一点?

Integer number too large

它给出错误的原因是因为您传递给 valueOf(...) 参数的类型是 int(这是默认类型,除非您另外指定)有一个限制,你已经超过了这个限制,因此出现了错误。

BigInteger l = BigInteger.valueOf(111111111111111110); // argument is int, so it will give a compiler error

改用 long 参数。

BigInteger value = BigInteger.valueOf(111111111111111110L);

或使用 string 参数。

BigInteger value = new BigInteger("111111111111111110");