Сдвиг битов на практике включает буквальное перемещение битов N местами, поэтому для сдвига 2:
10101101
||||||
\\\\\\
\\\\\\
vvvvvv
00101011
Математически сдвиг вправо на один бит эквивалентен делению на два,в то время как смещение влево эквивалентно умножению на два.Вы увидите, что эта оптимизация иногда используется, потому что сдвиг часто намного быстрее, чем умножение.
Это похоже на то, как в десятичных терминах деление на любую степень десяти легко, вы просто удаляете определенное количество цифр или перемещаете десятичную дробьместо.