2.5 Побитовые операции

2.5.2 Изменить бит

Условие

Даны беззнаковое целое число value, номер бита k и код команды command. Выполните одну операцию: при команде 1 установите бит в 1, при команде 2 сбросьте его в 0, при команде 3 переключите его значение на противоположное. Все остальные биты должны сохраниться.

Используйте 32-битный unsigned int и побитовые операции. Маски формируйте в беззнаковом типе. Перевод числа в строку двоичных цифр не допускается.

Ограничения

Время: 2 секунды. Память: 64 МиБ. Вывод: до 2 МиБ. Стандарты: C11 / C++17.

Входные данные

Три числа в одной строке: value, k, command. Ограничения: 0 ≤ value ≤ 2³² − 1, 0 ≤ k ≤ 31, 1 ≤ command ≤ 3.

Выходные данные

Одно беззнаковое целое число в десятичной записи — результат изменения указанного бита.

Примеры

Вход 1
8 0 1
Ожидаемый выход
9
Вход 2
15 2 2
Ожидаемый выход
11
Вход 3
0 31 3
Ожидаемый выход
2147483648

Пробный запуск

Код берётся из редактора. Запуск не создаёт посылку и не влияет на баллы.

Выберите пример или введите свои данные и нажмите «Запустить».

Текущая попытка

Отправьте решение. Этапы и результат появятся здесь автоматически.

Все попытки

Войдите, чтобы видеть свои попытки.

Редактор

Один файл до 64 КиБ · Tab / Shift+Tab — отступ · Esc — выход из редактора · черновик сохраняется для этого аккаунта, задачи и языка.