Let's try with two small integers x = 5, whose binary equivalent is 101 and y = 1, whose binary equivalent is 001.
, , ? XOR - .
, XOR x y, :
x = x ^ y = 101 ^ 001 = 100 (: 4)
, XOR . ( 5 1 6, 4). , . , .
, .
,
carry = x y = 101 001 = 1 ( 1)
y = carry < 1;
, y = 001 < 1 = 010 (: 2)
, y .
( y = 2, )
x = x ^ y = 100 ^ 010 = 110 (: 6)
carry = x y = 100 010 = 0 ( 0)
XOR x y 6, 5 1. , 0.
y 0, 0 0. y , , , x!