查找正整数的位数的最佳方法是什么?
我发现了这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; }