Операторы левого и правого сдвига (< < и → ) уже доступны на С++. Однако я не мог узнать, как я мог выполнять операции с круговым сдвигом или вращением.
Как можно выполнять операции типа "Повернуть влево" и "Повернуть вправо"?
Вращение справа дважды здесь
Initial --> 1000 0011 0100 0010
должно получиться:
Final --> 1010 0000 1101 0000
Пример будет полезен.
(примечание редактора. Многие распространенные способы выражения вращений в C страдают от поведения undefined, если число вращений равно нулю или скомпилировано не более, чем просто одна команда с машиной вращения. Этот вопрос должен содержать рекомендации по наилучшим методам.)