Циклический побитовый сдвиг числа вправо на указанное количество бит, но только для нечетных битов - C (СИ)
Формулировка задачи:
Реализовать циклический побитный сдвиг числа вправо на указанное число(n), но только для нечетных битов
Условия:
Реализация задания в отдельной функции
Корректность работы реализованной функции с целыми числами различных типов (char, int, unsigned, long)
Помогите
Решение задачи: «Циклический побитовый сдвиг числа вправо на указанное количество бит, но только для нечетных битов»
textual
Листинг программы
#include <stdio.h> typedef unsigned char byte; byte rotate_right(byte x, byte n) { return (x >> n) | (x << 8*sizeof(x)-n); } byte rotate_odd_right(byte x, byte n) { return rotate_right(x & 0x55, 2*n) | (x & 0xAA); } int main() { byte x = 73; printf("%d\n", rotate_odd_right(x, 2)); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д