Инструкции

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

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

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

В сети

Пользователей: 158
Из них просматривают:
Аналоги: 82. Даташиты: 29. Инструкции: 24. Новости: 9. Остальное: 2. Профиль пользователя: 2. Расчёты: 1. Теги: 1. Форум: 8.
Участников: 2
Гостей: 156

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

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

Разное

Интересно

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

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