Impressive work and an interesting write-up. Kudos!
post
The repeated division trick has a quicker counterpart, which is to create a separate variable and repeatedly multiply that by 10, comparing to the original as it goes. Probably not as fast as anything beyond the repeated division trick, but I mention it because its rediscovery was likely missed by jumping right to clzl tricks.
It also generalises a lot more readily to numbers in other bases. Kind of a "jack of all trades, master of none" solution.
Amazing. It's so weird, I was just needing to do this same operation and was looking into some of the bithacks. Although I don't have the ability in the language to fully utilize this, I am astounded by how lean you made it.
How interesting! What language are you using? I've ported a couple of these ilog10 methods to different languages so perhaps I could be of some help! Thank you though! It was a long process to get it this fast and lean!
Java. I could certainly use a lot of what you wrote, but I don't know nearly enough about the JVM to take it as far as you did.
Fun read, thanks for sharing โฅ๏ธ
So there is a faster one in Africa or Asia? Then why not use that?
As someone who rarely programs anything, and who hasnโt touched assembly for over 40 years, that was a great read and a fascinating (math) journey.
all 3 comments