为什么java Math.pow参数加倍?

时间:2017-01-08 06:46:37

标签: java api floating-point

为什么java中的Math.pow API有双参数,用double写的理由或用法是什么?

由于计算浮点数并且双重涉及精度,舍入错误等...涉及为什么没有单独的API来计算整数?

为什么没有单独的方法

1 个答案:

答案 0 :(得分:2)

pow的结果通常是非理性的,分数的或者太大而无法存储为long,如果你想使用整数幂,你可以使用

 BigInteger bi = BigInteger.valueOf(100);
 BigInteger bi2 = bi.pow(20); // 10^40

另一个原因可能是Math有许多功能,这些功能取自C,也来自常见的CPU指令集。 C只有一个浮点方法,x64只有浮点版本的pow。