Java BigInteger.valueOf()限制
BigInteger的valueOf有任何限制吗?我不确定,但在某个地方读到,给定的数字只能是length=long。Java BigInteger.valueOf()限制,java,biginteger,Java,Biginteger,BigInteger的valueOf有任何限制吗?我不确定,但在某个地方读到,给定的数字只能是length=long。biginger的valueOf()方法将long作为其唯一参数。因此,您可以传递给它的最大数是long所能表示的最大值(2^63-1=9223372036854775807)。对于类,该方法将long作为参数,因此,通过biginger.valueOf方法可以获得的最大数字是2^63-1。类本身用于表示不可变的任意精度整数。这意味着它可以表示任意大小的整数(当然受计算机内存的限
biginger
的valueOf()
方法将long
作为其唯一参数。因此,您可以传递给它的最大数是long
所能表示的最大值(2^63-1=9223372036854775807
)。对于类,该方法将long
作为参数,因此,通过biginger.valueOf
方法可以获得的最大数字是2^63-1。类本身用于表示不可变的任意精度整数。这意味着它可以表示任意大小的整数(当然受计算机内存的限制)
但是valueOf
方法返回一个BigInteger
,其值等于指定的long。因此,根据定义以这种方式创建的biginger
只能是一个大的asLong.MAX\u值
biginger
类的另一个创建的biginger
对象当然可以大于Long.MAX\u值
以下面截取的代码为例:
BigInteger big1 = BigInteger.valueOf(Long.MAX_VALUE);
BigInteger big2 = BigInteger.valueOf(Long.MAX_VALUE);
BigInteger big3 = big1.add(big2);
名为big3
的biginger
大于Long.MAX\u值
,即使其组成部分是使用valueOf
方法创建的。考虑使用biginger(字符串val,int基数)
构造函数。可以创建任意大小的biginger