Возможные дубликаты:
Сдвиг битов быстрее, чем умножение и деление в Java? .NET?
Быстрый вопрос по оптимизации Java
Много лет назад в колледже я узнал, что сдвиг битов вправо на единицу выполняет то же самое, что и деление на два, но обычно значительно быстрее. Я не уверен, как Java продвинулась в этом отношении с тех пор, как 9-10 лет назад я узнал об этом. Преобразует ли компилятор Java автоматически деление на два в операцию побитового сдвига, или я должен вручную выполнить операцию побитового сдвига в коде самостоятельно?