求正整数位数的最佳方法是什么?
我找到了这 3 个基本方法:
转换为字符串
String s = new Integer(t).toString(); int len = s.length();
循环
for(long long int temp = number; temp >= 1;) { temp/=10; decimalPlaces++; }
对数计算
digits = floor( log10( number ) ) + 1;
您可以在其中计算大多数语言的 log10(x) = ln(x)/ln(10)。
起初我认为字符串方法是最脏的方法,但我越想越觉得它是最快的方法。或者是?
最佳答案
总有这种方法:
n = 1;
if ( i >= 100000000 ) { n += 8; i /= 100000000; }
if ( i >= 10000 ) { n += 4; i /= 10000; }
if ( i >= 100 ) { n += 2; i /= 100; }
if ( i >= 10 ) { n += 1; }
关于algorithm - 查找整数的位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6655754/