Циклический побитовый сдвиг числа вправо на указанное количество бит, но только для нечетных битов - 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));
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы