2.2 33p number of digits
b1^k-1  에서
b2^x-1 로 변환할 때, 필요 비트수의 최소값은
b2^x-1 >= b1^k-1을 만족하도록 하면 된다.
즉,
x = "min of x >= k*(log_(b2)b1"

ex
10^6 - 1 에서 2^x -1 체제로 변환하려면
(저장할 공간이 확보되어야하므로)
10^6 < 2^x
x = 10  -> 1024 ; >10^3, < 10^4
2^10 이 10^3에 근사하므로
10^6에 근사하려면 6/3 = 2 즉
x = 20 일 때 -> 1024 * 1024 = 1.024^2 * 10^6 으로,
x = 19일 때는 1.024^2 * 10^5 * 5이므로 10^6보다 작고
따라서 x = 20이 최소한의 필요비트가 된다.

또는 log10, log2의 값이 주어졌다면

log_(10)2 = log2/log10 을 구해서
k = 6 에 곱하고
그 이상의 최소 정수를 구하면
x가 된다.

Posted by 망고스파게티 :