Приветствую Вас ГостьПятница, 03.05.2024, 14:21

AVR & ARDUINO




Каталог статей

Главная » Статьи » Справочник

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

Составное присваивание с побитовым И (&=) часто применяется к переменной и константе, чтобы сбросить определенные биты в переменной в нулевое состояние. В руководствах по программированию такую операцию часто называют сбросом или очисткой битов.

Синтаксис

x &= y; // эквивалентно x = x & y;

Параметры

x - переменная типа char, int или long.

y - целочислительная константа или переменная типа char, int или long.

Пример

Работа побитового И (&):

0 0 1 1 операнд1
0 1 0 1 операнд2
----------
0 0 0 1 (операнд1 & операнд2) - результат

Операция побитового И между битами и 0 сбрасывает их в ноль, т.е. если переменная myByte имеет тип byte:

myByte & B00000000 = 0;

Операция побитового И между битами и 0 не изменяет их:

myByte & B11111111 = myByte;

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

Следовательно, чтобы очистить (установить в нуль) биты 0 и 1 переменной, оставляя остальную часть переменной без изменений, используйте составное присваивание с побитовым И (&=) вместе с константой 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

не изменились 
  биты очищены 
 

Ниже показано то же самое, только биты переменной заменены символом 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

не изменились 
  биты очищены 

т.е, если

myByte = 10101010;
myByte &= B1111100 == B10101000;

Смотрите также:

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

& (побитовое И)

! (побитовое ИЛИ)


Справочник

Материалы взяты с официального сайта проекта Arduino и представлены по лицензии Creative Commons Attribution-ShareAlike 3.0 License.



Источник: http://arduino.cc/en/Reference/BitwiseCompoundAnd
Категория: Справочник | Добавил: magi (12.11.2014)
Просмотров: 836 | Теги: побитовое И | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Поиск
Вход на сайт
На правах рекламы

Мы переезжаем на сайт Arduino по-русски