logo
АВС_Лек4_2013 / ИнтернентСсылкиАссемблерЛогика

Сложение по модулю два (xor) [править | править исходный текст]

Основная статья: Сложение по модулю два

Сложение по модулю два(илидвухместная операция исключающее ИЛИ) — этобинарная операция, результат действия которой равен 1, если число складываемых единичных битов нечетно, если же их число четно, то результат равен 0.

Пример:

Искл. ИЛИ

0011

0101

0110

Первое русское название операции обусловлено тем, что результат данной операции отличается от результата «ИЛИ» только в одном случае из 4 случаев входа — обоих 1 (случай одновременной истинности аргументов «исключается»). Ещё в русской грамматике значение данной логической связки передаётся союзом«либо».

Второе название — тем, что действительно является сложением в кольце вычетовпо модулю два, из чего следуют некоторые интересные свойства. Например, в отличие от вышеописанных «И» и «ИЛИ», данная операция является обратимой, или инволютивной: .

В компьютерной графике«сложение по модулю два» применяется при выводеспрайтовна картинку — повторное её применение убирает спрайт с картинки. Благодаря инволютивности эта же операция нашла применение в криптографии как простейшая реализацияидеального шифра(шифра Вернама). «Сложение по модулю два» также может использоваться для обмена двух переменных, используяалгоритм обмена при помощи исключающего ИЛИ.

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