Java 如何计算数学功率(10,n),n>=10000

Java 如何计算数学功率(10,n),n>=10000,java,Java,如何计算Math.pow(10,n),n>=10000 我的程序总是打印:Infinity,我认为数据类型中存在问题:double 下面是我的代码: public static void main(String[] args){ double result = Math.pow(10, 10000); System.out.print(result); } 我们可以尝试使用,因为BigDecimal具有任意长度,仅受内存限制: BigDecimal a = new BigDec

如何计算Math.pow(10,n),n>=10000

我的程序总是打印:
Infinity
,我认为数据类型中存在问题:
double

下面是我的代码:

public static void main(String[] args){
    double result = Math.pow(10, 10000);
    System.out.print(result);
}
我们可以尝试使用,因为
BigDecimal
具有任意长度,仅受内存限制:

BigDecimal a = new BigDecimal("10");
System.out.println(a.pow(10000).toString());

这将打印出
1
,后跟10K个零。

双精度的指数约为+-1023,因此“无穷大”是正确答案@标记空间是二进制指数,最大十进制指数是~+/-308。哦,你说得对。太晚了,抱歉把事情搞砸了@MarkRotterVeel10^10000可以作为
BigDecimal.TEN.pow(10000)
BigDecimal.ONE.movePointRight(10000)
,以及
新的BigDecimal(“1e10000”)
。虽然所有3个都有相同的数值(
compareTo
返回0),但前两个将打印一个
1
,后跟10000个零,而第三个将打印
1e10000
,并且不
等于前两个。--也可以按
biginger.TEN.pow(10000)