Мы ищем наибольшее целое число x, такое что x <= log_2 (N), то есть 2 ^ x <= N </p>
или эквивалентное 2 ^ x <= N <2 ^ {x + 1} </p>
Пусть N_0 = N
, а для k> 0 N_k является частным от деления N_ {k-1} на 2 и r_k в {0, 1} остатка (N_ {k-1} = 2.N_k + r_k)
Имеется:
2 ^ {x-1} <= N_1 + (r_1 / 2) <2 ^ x </p>
Но 0 <= r_1 / 2 <= 1/2, а остальные числа являются целыми числами, что эквивалентно </p>
2 ^ {x-1} <= N_1 <2 ^ x </p>
Мы имеем последовательно:
2 ^ {x-1} <= N_1 <2 ^ x </p>
2 ^ {x-2} <= N_2 <2 ^ {x-1} </p>
…
2 ^ {xx} <= N_x <2 ^ {x-x + 1} </p>
Последнее также записано 1 <= N_x <2 </p>
Но N_x является целым числом, поэтому N_x = 1
Следовательно, x - это число деления на 2 из N, которое остается большим или равным 1.
Вместо того, чтобы начинать с N_1, мы можем начатьиз N_0 = N и оставайтесь больше 1.