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

Написать функцию, указанную в задании, используя только операции над битами (никаких возведений в степень, умножений, делений, сложений, вычитаний и т.п.). Во всех вариантах необходимо менять все биты сразу, а не по одному в цикле. Биты нумеруются с 0 начиная с правого (младшего) бита. Бит с номером p должен меняться.

Обеспечить возможность обработки данных размером 8, 16, 32 и 64 бита.

Написать программу для проверки правильности работы функции. Необходимо проверять корректность введённых значений переменных n и p. Исходное и полученное число выводить в двоичной, десятичной и шестнадцатиричной системах счисления.

Класс bitset не использовать.

Примеры см. в лекции 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, остальные биты остаются без изменения.
  26. Написать функцию, которая в числе x устанавливает 0 в n бит, находящихся справа от позиции p, остальные биты остаются без изменения.
  27. Написать функцию, которая в числе x устанавливает 1 в n бит, находящихся слева от позиции p, остальные биты остаются без изменения.
  28. Написать функцию, которая в числе x устанавливает 0 в n бит, находящиеся слева от позиции p, остальные биты остаются без изменения.
  29. Написать функцию, которая возвращает число x после выполнения в нем циклического сдвига вправо на n бит.
  30. Написать функцию, которая возвращает величину x после выполнения в ней циклического сдвига влево на n бит.