代码之家  ›  专栏  ›  技术社区  ›  mducc

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

  •  2
  • mducc  · 技术社区  · 7 年前

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

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

    下面是我的代码:

    public static void main(String[] args){
        double result = Math.pow(10, 10000);
        System.out.print(result);
    }
    
    1 回复  |  直到 7 年前
        1
  •  5
  •   Tim Biegeleisen    7 年前

    我们可以试着用 BigDecimal#pow BigDecimal 具有任意长度,仅受内存限制:

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

    这个打印出来 1