Однако мне не удалось выяснить, как выполнять операции кругового сдвига или поворота.
Как можно выполнять такие операции, как «Поворот влево» и «Поворот вправо»?
Здесь дважды поворачивается вправо
Код: Выделить всё
Initial --> 1000 0011 0100 0010
Код: Выделить всё
Final --> 1010 0000 1101 0000
(примечание редактора: многие распространенные способы выражения поворотов в C страдают от неопределенное поведение, если счетчик вращения равен нулю или компилируется более чем в одну машинную инструкцию вращения. Ответ на этот вопрос должен документировать лучшие практики.)
Подробнее здесь: https://stackoverflow.com/questions/776 ... tions-in-c
Мобильная версия