@
m 关于效率对比 ...
$number = 1;
循环 0.000678062
对数 0.001754999
$number = 10;
循环 0.000564098
对数 0.001772165
$number = 10000000;
循环 0.000665903
对数 0.001778841
$number = bcpow( 10, 32 ); // 10^32
循环 0.000611066 ( 结果错误 )
对数 0.001586914
不过事实看来 ... 在 php 里面对数的效率完全不如做多次除法 ...
对数的唯一优势在于如果一个数字特别大 ... 超过了整数可以处理的范围 ...
当除法无法计算的时候对数永远可以给出正确的答案这样 ...
附我的连续除法程序 ...
while ( true ) {
if ( $number < 10 ) {
if ( 1 == $number ) return true;
else return false;
} else $number /= 10;
}