Назад к задачам
Junior — Senior
8

Изменение значения бита в числе по заданной позиции

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Задача: реализовать функцию set_bit, которая принимает 32‑разрядное беззнаковое число num, позицию бита pos (нумерация с нуля) и булево значение value. Функция должна вернуть новое число, в котором бит на позиции pos установлен в 1, если value истинно, иначе в 0.

std::uint32_t set_bit(std::uint32_t num, std::uint32_t pos, bool value) {
    // реализовать
}

Пример работы:

num = 5 (0101b), pos = 1, value = false → результат 1 (0001b)
num = 5 (0101b), pos = 2, value = true  → результат 5 (0101b)