NOTE:
These are a little sketchy...I'll fill in details 'soon'.
A little known formula from information theory states that the number of digits required to represent a number N in a base B is:
| log N |
| B | + 1
-- --
(Recall that ¦_x_¦ represents the floor of -- or greatest integer less than or equal to -- x.
Therefore it takes 1 digit to represent the value 2 in base 10:
| log 2 |
| 10 | + 1 = | 0.30103 | + 1 = 0 + 1 = 1
-- -- -- --
And it takes 4 digits to represent 10 in base 2 (1010):
| log 10 |
| 2 | + 1 = | 3.32193 | + 1 = 3 + 1 = 4
-- -- -- --
Remember, btw, that to find logs in alternative bases, simply divide the log you have by the log of the new base in the log you have:
log N
10
log N = --------
B log B
10
So the log to the base 2 of 10 is:
log 10
10 1
log 10 = --------- ≅ --------- ≅ 3.32193
2 log 2 0.30103
10
(Also recall that log to the base 10 -- the common logarithm -- is log10() from the math library.)