标签: java biginteger
我正在尝试使用一些较大的整数值,但是在初始化BigInteger变量时遇到一些问题。我一直在做:
BigInteger x = new BigInteger("" + (Math.pow(2, n)));
其中n是100的某个数字,但这会引发NumberFormatException。我不认为我可以使用BigInteger,Valueof(),因为这花了我不认为足够大的时间。任何帮助将不胜感激。
答案 0 :(得分:7)
一种或另一种Math.pow会返回类型double的值,该值将使用小数分隔符进行格式化。 BigInteger不接受十进制值。
Math.pow
double
BigInteger
抛出: NumberFormatException-val不是BigInteger的有效表示。
NumberFormatException
只需使用BigInteger提供的pow方法
pow
BigInteger x = BigInteger.TWO.pow(n);