Инструкции

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

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

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

В сети

Пользователей: 124
Из них просматривают:
Аналоги: 54. Даташиты: 14. Инструкции: 5. Новости: 18. Партнёры: 1. Программы: 1. Профиль пользователя: 3. Расчёты: 1. Форум: 27.
Участников: 2
Гостей: 122

Google , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

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

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

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

Описание
Составной побитовый оператор 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

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

Разное

Интересно

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

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