Инструкции

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

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

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

В сети

Пользователей: 160
Из них просматривают:
Аналоги: 62. Галерея: 1. Даташиты: 44. Инструкции: 7. Магазин: 1. Новости: 15. Остальное: 1. Программы: 1. Профиль пользователя: 4. Теги: 1. Форум: 23.
Участников: 2
Гостей: 158

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

Партнёры


Партнёры

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

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

^= (составной побитовый XOR)

Описание
Составной побитовый оператор XOR ^= часто используется с переменной и константой для переключения (инвертирования) определенных битов в переменной.
 
Обзор побитового оператора XOR ^:
0 0 1 1 operand1
0 1 0 1 operand2
-------
0 1 1 0 (operand1 ^ operand2) - возвращенный результат


Синтаксис
x ^= y; // эквивалентно выражению x = x ^ y;

Параметры
x: переменная. Допустимые типы данных: int, long.

y: переменная или константа. Допустимые типы данных: int, long.
 
Примеры

myByte ^ B00000000 = myByte;

myByte ^ B11111111 = ~myByte;


Примечание

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

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

 

1 0 1 0 1 0 1 0  переменная

0 0 0 0 0 0 1 1  маска

---------------

1 0 1 0 1 0 0 1  первые 6 без изменений. последние 2 - инвертированы

 

Здесь то же самое представление с битами переменных, замененными символом x. ~ x представляет собой дополнение к x.

 

x x x x x x x x переменная

0 0 0 0 0 0 1 1 маска

---------------

x x x x x x~x~x первые 6 без изменений. последние 2 - инвертированы

 

Так что

myByte = B10101010;
myByte ^= B00000011 == B10101001;

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

Разное

Интересно

Обработанные водным раствором щелочи стальные контакты (например, батарейного отсека переносной магнитолы или пульта ДУ) никогда не заржавеют.

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