Устанавливаем и сбрасываем определённый бит в числе

В предыдущей статье мы научились проверять установлен ли тот или иной бит в числе. В этой статье мы научимся устанавливать и снимать определённые биты.

Установка бита

Установка бита производится при помощи операции «побитового «ИЛИ»

Ниже приведён пример установки четвёртого бита в числе (source).

Переменная installBitNumber определяет номер нужного бита (нумерация битов начинается с 0). А, операция 1 << installBitNumber генерирует так называмую «маску» — число в котором равны 0 все биты, кроме того, что нам требуется установить.

Снятие бита

Для снятия бита используется операция «побитового «И». Только в отличие от проверки бита при его снятии «маску» необходимо поразрядно инвертировать, то есть единственный бит равный 1 должен стать равен 0, а остальные биты, изначально равные 0, должны стать равными 1.

Ниже приведён пример снятия третьего бита.

Как мы видим по сравнению с примером из предыдущей статьи перед «маской» появился оператор «~», который, собственно, и осуществляет её поразрядную инверсию.

При помощи вышеописанных операций можно установит или снять любой бит в двоичном числе.

Добавить комментарий

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