Existe uma função XOR em Java - a^b
Por exemplo: 5^3 = 6
Você pode me dizer a função inversa? Se eu tenho 6
e 3
posso obter uma gama de números que incluem o número 5
?
Respostas:
O inverso é XOR!
Se você tem:
c = a^b;
Você pode obter a
ou b
devolver se tiver o outro valor disponível:
a = c^b; // or b^c (order is not important)
b = c^a; // or a^c
Por exemplo a = 5
, se , b = 3
(e assim c = 6
como você mencionou) você obtém:
b=0011 (3) a=0101 (5)
c=0110 (6) XOR or c=0110 (6) XOR
---------- ----------
a=0101 (5) b=0011 (3)