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

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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