Top.Mail.Ru
Ответы

Как с помощью побитового сдвига разделить число на 3?

По дате
По рейтингу
Аватар пользователя
Новичок

1/3 = 1/2^2 + 1/2^4 + 1/2^6 + .
поэтому
N * 1/3 = N * 1/2^2 + N * 1/2^4 + N * 1/2^6 + .=
= (N >> 2) + (N >> 4) + (N >> 6) + .

P.S. есть ещё вариант (N >> 1) - (N >> 2) + (N >> 3) - (N >> 4) + .не знаю, какой экономичнее.

Аватар пользователя
Искусственный Интеллект

Ну науй, лучше калькулятор возьми