为什么 Math.pow 在 Java 中计算长数据类型的值错误



我正在尝试解决极客中的数学问题,其中我必须计算15的15次方。

long result = (long)Math.pow(a, b);

这里a,b = 15 为什么上面的表达式计算结果为437893890380859392何时应该437893890380859375

更好地使用BigInteger,它可以处理更大的值:

BigInteger bigInteger = new BigInteger("15").pow(15);    
System.out.println(bigInteger);

最新更新