a means is to find the log2(n) where n > 1. When n < 1, calculate log2(1/n);
1. find the most closed 2's multiples (small, large) to the n, upper value
and lower value are respectively times values to 2. //for example, if we
find values are 8 and 16, n is between 8 and 16, result is between 3~4.
2. we know log2(sprt(small*large)) = (log2(small)+log2(large))/2 = (upper
value + lower value)/2. // for example log2(13.31) = 3.5.
3.Check if n is larger or less then sprt(small*large). Then change the lower
bound/higher bound to this new value. And result is between new value~
previous upper value/ precious lower value~new value.
4.Iterate until the result's range is less than error.