Что такое сумма XOR?

Я не уверен в точном определении этого термина.

Я знаю, что побитовая операция XOR выполняется бит за битом и принимает XOR соответствующих битов по позициям. Называется ли этот результат «суммой XOR»? Если нет, то что такое сумма XOR и как использовать XOR для реализации этого сложения?


person user2517777    schedule 24.06.2013    source источник
comment
Прочтите о контрольных суммах.   -  person Some programmer dude    schedule 25.06.2013
comment
Не могли бы вы дать ссылку на этот термин? Где ты это нашел? XOR работает как побитовый сумматор, игнорирующий перенос.   -  person Alexandru Barbarosie    schedule 25.06.2013
comment
Этот термин происходит от задачи криптографии: напишите функцию, которая принимает два буфера одинаковой длины и производит их сумму XOR. Я не хочу ответа или объяснения вопроса, просто определение суммы XOR в этом (или любом) контексте.   -  person user2517777    schedule 25.06.2013
comment
В арифметике конечных полей с модулем 2 XOR равно сумме. См. en.wikipedia.org/wiki/Finite_field_arithmetic   -  person ferdymercury    schedule 08.04.2021


Ответы (1)


Немного мудрая операция XOR:

a   b   a^b
-----------
0   0    0
0   1    1
1   0    1
1   1    0 

Сумма XOR относится к последовательным операциям XOR над целыми числами.
Предположим, у вас есть числа от 1 до N, и вам нужно найти их сумму XOR, тогда для N = 6 сумма XOR будет 1^2^3^4^5^6 = 7.

1 = 001,  2 = 010,   3 = 011,   4 = 100,   5 = 101,   6 = 110  

 1^2          = 1^2  = 001^010 = 011 = 3  
(1^2)^3       = 3^3  = 011^011 = 000 = 0
(1^2^3)^4     = 0^4  = 000^100 = 100 = 4
(1^2^3^4)^5   = 4^5  = 100^101 = 001 = 1
(1^2^3^4^5)^6 = 1^6  = 001^110 = 111 = 7 --> XOR sum

Надеюсь, это поможет.

person haccks    schedule 24.06.2013