Задача на поразрядные операции

Написать функцию, указанную в задании, используя только операции над битами. Во всех вариантах необходимо менять все биты сразу, а не по одному в цикле.

Написать программу для проверки правильности работы функции. Для того, чтобы было удобно проверять правильность работы с битами, исходное и полученное число можно вывести, используя формат %08x – целое число в шестнадцатеричной системе счисления, 8 знаков, впереди добавляются нули.

Примеры программ см. в лекции 8.

  1. Написать функцию, которая в числе x устанавливает 1 в n бит, находящихся справа от позиции p, остальные биты остаются без изменения.
  2. Написать функцию, которая в числе x устанавливает 0 в n бит, находящихся справа от позиции p, остальные биты остаются без изменения.
  3. Написать функцию, которая в числе x устанавливает 1 в n бит, находящихся слева от позиции p, остальные биты остаются без изменения.
  4. Написать функцию, которая в числе x устанавливает 0 в n бит, находящиеся слева от позиции p, остальные биты остаются без изменения.
  5. Написать функцию, которая возвращает число x после выполнения в нем циклического сдвига вправо на n бит.
  6. Написать функцию, которая возвращает величину x после выполнения в ней циклического сдвига влево на n бит.
  7. Написать функцию, которая в числе x инвертирует n бит, находящихся справа от позиции p, остальные биты остаются без изменения.
  8. Написать функцию, которая в числе x инвертирует n бит, находящихся слева от позиции p, остальные биты остаются без изменения.
  9. Написать функцию, которая в числе x устанавливает 1 в n бит, находящихся справа от позиции p, остальные биты остаются без изменения.
  10. Написать функцию, которая в числе x устанавливает 0 в n бит, находящихся справа от позиции p, остальные биты остаются без изменения.
  11. Написать функцию, которая в числе x устанавливает 1 в n бит, находящихся слева от позиции p, остальные биты остаются без изменения.
  12. Написать функцию, которая в числе x устанавливает 0 в n бит, находящиеся слева от позиции p, остальные биты остаются без изменения.
  13. Написать функцию, которая возвращает число x после выполнения в нем циклического сдвига вправо на n бит.
  14. Написать функцию, которая возвращает величину x после выполнения в ней циклического сдвига влево на n бит.
  15. Написать функцию, которая в числе x инвертирует n бит, находящихся справа от позиции p, остальные биты остаются без изменения.
  16. Написать функцию, которая в числе x инвертирует n бит, находящихся слева от позиции p, остальные биты остаются без изменения.
  17. Написать функцию, которая в числе x устанавливает 1 в n бит, находящихся справа от позиции p, остальные биты остаются без изменения.
  18. Написать функцию, которая в числе x устанавливает 0 в n бит, находящихся справа от позиции p, остальные биты остаются без изменения.
  19. Написать функцию, которая в числе x устанавливает 1 в n бит, находящихся слева от позиции p, остальные биты остаются без изменения.
  20. Написать функцию, которая в числе x устанавливает 0 в n бит, находящиеся слева от позиции p, остальные биты остаются без изменения.
  21. Написать функцию, которая возвращает число x после выполнения в нем циклического сдвига вправо на n бит.
  22. Написать функцию, которая возвращает величину x после выполнения в ней циклического сдвига влево на n бит.
  23. Написать функцию, которая в числе x инвертирует n бит, находящихся справа от позиции p, остальные биты остаются без изменения.
  24. Написать функцию, которая в числе x инвертирует n бит, находящихся слева от позиции p, остальные биты остаются без изменения.
  25. Написать функцию, которая в числе x устанавливает 1 в n бит, находящихся справа от позиции p, остальные биты остаются без изменения.
Содержание