Я где-то читал, что:
Наименьшее целое число больше lg N количество битов, необходимых для представлять N в двоичном, таким же образом что наименьшее целое число больше log10 N - количество цифр требуется представить N в десятичном виде. оператор Java for (lgN = 0; N > 0; lgN++, N /= 2) ; - это простой способ вычислить наименьшее целое число больше lg N
Наименьшее целое число больше lg N количество битов, необходимых для представлять N в двоичном, таким же образом что наименьшее целое число больше log10 N - количество цифр требуется представить N в десятичном виде.
оператор Java
for (lgN = 0; N > 0; lgN++, N /= 2) ;
- это простой способ вычислить наименьшее целое число больше lg N
Возможно, я что-то здесь упускаю, но как оператор Java вычисляет наименьшее целое число больше lg N?
Рассмотрим N в двоичной форме, без всех нулей слева.
Например, для 19 это будет 10011.
Каждое N / = 2 сдвигает этот бит направо:
Когда N равно 0, тогда lgN (число шагов) равно log (N).