Инструкции

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

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

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

В сети

Пользователей: 49
Из них просматривают:
Аналоги: 8. Даташиты: 7. Инструкции: 17. Новости: 1. Остальное: 1. Профиль пользователя: 2. Теги: 1. Форум: 12.
Участников: 3
Гостей: 46

Google , Kosmonavt , Яндекс , далее...
Рекорд 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

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

Разное

Интересно

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

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