如何取得數字的最高位數

最近因為一些原因在研究班佛法則,就隨手找了一些數據集想手動驗證一下,第一個問題就是怎麼取得一個數字的最高位數,比如說 5678 的 ‘5’,18736353 的 ‘1’,在網路上搜了一下,最高分的答案居然是從字串著手 XD

function getFirstDigit($num){
    return substr( strval($num),0,1 );
}

正規數學解

function getFirstDigit($num) { 
	while ($num >= 10){
        $num = $num/10;
    }
	return (int)$num; 
}

沒跑 benchmark 不曉得效能差多少

班佛法則

李永樂老師的推演相當精彩

置頂 banner 來源

Share Comments
comments powered by Disqus