есть два способа сдвига:
ротация: выпадающие биты вставляются с другой стороны... (>>)
сдвиг: выпадающие биты теряются, а вставляются нули... (>>>)
не думаю, что ради трех-четырех операций рационально заводить новую переменную и цикл... это же мобила
тут низкоуровневая оптимизация фарева
(развертка мелких циклов и всякая байда)