有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

用Java编写大数幂函数的算法

假设我想用数学计算2^10000。pow()。我的代码是-

long num = (long)Math.pow(2, 10000);
System.out.println(num);

这里我得到的输出是9223372036854775807,我猜这是long的极限。但是如果我这样写-

double n = Math.pow(2, 10000);
System.out.println(n); 

o/p是无穷大,这有点奇怪。任何人都可以帮我


共 (2) 个答案

  1. # 2 楼答案

    这是可行的,但是要注意^ {CD1>}不是很有效,我不认为它适合于数学问题的生产工作。

    public static void main( String[] args ) {
      BigInteger two = new BigInteger( "2" );
      BigInteger twoToTenThousand = two.pow( 10000 );
      System.out.println( twoToTenThousand );
    }