27
$\begingroup$

I read recently that you can find the number of digits in a number through the formula $\lfloor \log_{10} n \rfloor +1$ What's the logic behind this rather what's the proof?

2 Answers 2

40

Suppose that $n$ has $d$ digits; then $10^{d-1}\le n<10^d$, because $10^d$ is the smallest integer with $d+1$ digits. Now take logs base $10$: $\log_{10}10^k=k$, so the inequality becomes $d-1\le\log_{10}n. If you now take the floor (= integer part) of $\log_{10}n$, throwing away everything to the right of the decimal point, you get $\lfloor\log_{10}n\rfloor=d-1$. Thus, $d=\lfloor\log_{10}n\rfloor+1$. This isn’t quite what you posted, but it’s the integer part of it, and clearly the number of digits must be an integer.

  • 0
    So, given N=8 for example, how many digits would there be in log(8)? Thank you.2012-11-06
  • 0
    @Emmad: It’s not about the number of digits in $\log_{10}8$; the result is that $8$ has $\lfloor\log_{10}8\rfloor+1$ digits, which is true, since $\log_{10}8\approx0.90309$.2012-11-06
  • 0
    I see now, thanks.2012-11-06
  • 0
    @Emmad: You’re welcome.2012-11-06
0

let's consider the binary base-2 system. Any decimal number (say 8) can be represented as $2^3$. So if you take $log_2(8)$ you get 3, which represents the number of bits to represent 8. Thus, any number between 8 and 16 can be represented with $\lceil log_2(N)\rceil$ bits and so on. You can easily extend this to digits.

  • 1
    Your formula doesn’t work when $N$ is a power of $2$. It should be $\lfloor\log_2N\rfloor+1$.2012-11-06