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

时间:2018-12-28 15:58:33

标签: java long-integer

我正在尝试解决geeksforgeeks中的数学问题,其中我必须计算提高到15的15。

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

这里a,b = 15 为什么上面的表达式在应该为437893890380859392时会求值为437893890380859375

1 个答案:

答案 0 :(得分:3)

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

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