Циклический сдвиг - Теряются все биты - C (СИ)
Формулировка задачи:
Подскажите пожалуйста как на си зделать циклический здвиг, через оператор << (>>) теряются все биты.
Решение задачи: «Циклический сдвиг - Теряются все биты»
textual
Листинг программы
i = (i >> 1) | ((i & 1) << (sizeof( i ) - 1));
Объяснение кода листинга программы
i
- это переменная, которая циклически сдвигается вправо на 1 бит.i >> 1
- это операция сдвига переменнойi
вправо на 1 бит.((i & 1) << (sizeof( i ) - 1))
- это операция сдвига переменнойi
влево на 1 бит, при этомi
усекается до размера, указанного вsizeof( i )
.|
- это операция объединения (логическое ИЛИ) результатов двух предыдущих операций.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д