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

В сети

Пользователей: 155
Из них просматривают:
Аналоги: 58. Даташиты: 52. Инструкции: 3. Новости: 13. Остальное: 10. Ошибки: 1. Программы: 1. Производители: 2. Профиль пользователя: 1. Форум: 14.
Участников: 2
Гостей: 153

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

Партнёры


Партнёры

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

Оглавление

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

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


Синтаксис
x |= y; // эквивалент записи x = x | y;

Параметры
x: переменная типа char, int или long
y: целочисленная константа либо переменная типа char, int или long

Пример
Если во втором операнде будут «0», то все исходные биты останутся без изменений.

myByte | B00000000 = myByte;


если во втором операнде будут одни «1», то и все исходные биты тоже поменяются на «1»

myByte | B11111111 = B11111111;


Примечание

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

 

Следовательно - чтобы установить биты 0 и 1 переменной, оставив остальную часть переменной без изменений, используйте составной битовый оператор ИЛИ (|=) с константой B00000011

 

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

 

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

 

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

 

Так что если:

myByte = B10101010;
myByte |= B00000011 == B10101011;

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

Разное

Проводите пайку только при выключенном телевизоре.

Интересно

Перед первым включением собранного усилителя выпаивайте из него выходные транзисторы и другие ценные детали.

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