我来"调解"一下吧:
看看math.pas就知道在小数的情况下,
power=exp(exponent*ln(base)),
此时Pipi的答案与wjiachun没有什么不同,
大家可能误认为power()只支持整数,
所以认为wjiachun的方法更好,实际上没区别。
在整数的情况下,显然Pipi的答案好一些,
因为delphi的power()会判断,如果为整数,
自动调用intpower。试想,如果在整数的情况下exp(x*ln)
比intpower好,Delphi会这样傻吗?
因此,SuperMMX的说法也不能成立,因为你不知道ln的
过程,怎么能认为exp比intpower好呢?
实际上ln的算法远要比intpower复杂的多,肯定更耗时的。
另外,intpower的算法大家应该看看,
实际上就是我们平时计算整数幂的递归法,
因此效率是很高的,不是“一个一个乘起来的 ”。