Инструкции

Справочный раздел

В этом разделе Вы найдетё инструкции, справочники, и всевозможные хелпы по использованию программного обеспечения.

Разделы инструкций

В сети

Пользователей: 247
Из них просматривают:
Аналоги: 107. Видео: 1. Даташиты: 86. Инструкции: 1. Новости: 2. Остальное: 4. Профиль пользователя: 2. Форум: 42. Чат: 2.
Участников: 3
Гостей: 244

an , Google , Яндекс , далее...
Рекорд 4304 человек онлайн установлен 08.08.2026.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.
Оглавление

&= (составное побитовое И)

Описание
Составной побитовый оператор AND &= часто используется с переменной и константой для принудительного перевода определенных битов в переменной в состояние LOW (в 0). В руководствах по программированию это часто называют «очисткой» или «сбросом» бит.

 

Обзор побитового оператора И &:

0 0 1 1 операнд1
0 1 0 1 операнд2
-------
0 0 0 1 (операнд1 & операнд2) - возвращаемый результат
 
Синтаксис
x &= y; // эквивалент записи x = x & y;
 
Параметры
x: переменная типа char, int или long
y: целочисленная константа либо переменная типа char, int или long
 
Пример
У пар, где есть как минимум один «0», в итоге тоже получается «0»

myByte & B00000000 = 0;

 
а у пар, где оба бита — «1», итоговым битом тоже будет «1»

myByte & B11111111 = myByte;

 
Примечание

Поскольку мы имеем дело с битами в побитовом операторе - удобно использовать двоичное представление констант. Числа по-прежнему имеют одинаковое значение в других представлениях, их не так просто понять. Кроме того, B00000000 показан для ясности, но ноль в любом числовом формате равен нулю

 

Следовательно, чтобы очистить (установить в ноль) биты 0 и 1 переменной, оставив остальную часть переменной без изменений, используйте составной битовый оператор AND (&=) с константой B11111100

 

1 0 1 0 1 0 1 0 переменная
1 1 1 1 1 1 0 0 маска
---------------
1 0 1 0 1 0 0 0 первые 6 бит остались нетронутыми, 2 последних - были очищены

 

Теперь то же самый пример с битами переменной, замененными символом x

 

x x x x x x x x переменная
1 1 1 1 1 1 0 0 маска
---------------
x x x x x x 0 0 первые 6 бит остались нетронутыми, 2 последних — были очищены

 

Так что если:

myByte = B10101010;
myByte &= B11111100; // результат в B10101000

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.

Разное

Интересно

Обработанные водным раствором щелочи стальные контакты (например, батарейного отсека переносной магнитолы или пульта ДУ) никогда не заржавеют.

Похожие инструкции