Информатика и технология программирования

         

Поразрядная операция ИСКЛЮЧАЮЩЕЕ ИЛИ


Поразрядная операция " исключающее ИЛИ" выполняет над парами битов в операндах логическую операцию " исключающее или" , называемую также НЕРАВНОЗНАЧНОСТЬ или СЛОЖЕНИЕ ПО МОДУЛЮ 2 - результат равен 1 при несовпадении значений битов:


0 ^ 0 = 0
0 ^ 1 = 1
1 ^ 0 = 1
1 ^ 1 = 0

Наиболее часто используемый вариант этой операции :


a = a ^ b; или a ^= b;

Он интерпретируется таким образом: если бит операнда b равен 0 то бит результата сохраняет свое значение, если 1 -то меняется на противоположное (инвертируется). Такую операцию можно назвать ИНВЕРСИЯ БИТОВ по маске, установленной во втором операнде. Наиболее естественно это выглядит в том случае, когда второй операнд является константой


a ^= 0x0861; // Инвертировать биты 0,5,6,11


a ^= 0x00F0; // Инвертировать биты с 4 по 7


// (биты второй цифры справа)



Содержание раздела