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

mdu*_*ucc 2 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);
}
Run Code Online (Sandbox Code Playgroud)

Tim*_*sen 5

我们可以尝试使用BigDecimal#pow,因为BigDecimal有任意长度,只受内存限制:

BigDecimal a = new BigDecimal("10");
System.out.println(a.pow(10000).toString());
Run Code Online (Sandbox Code Playgroud)

打印出来1后跟10K零.