Il existe une fonction XOR en Java - a^b
Par exemple: 5^3 = 6
Pouvez-vous me dire la fonction inverse? Si j'ai 6
et 3
puis-je obtenir une plage de nombres comprenant un nombre 5
?
Réponses:
L'inverse est XOR!
Si tu as:
c = a^b;
Vous pouvez obtenir a
ou b
revenir si vous avez l'autre valeur disponible:
a = c^b; // or b^c (order is not important)
b = c^a; // or a^c
Par exemple si a = 5
, b = 3
(et donc c = 6
comme vous l'avez mentionné) vous obtenez:
b=0011 (3) a=0101 (5)
c=0110 (6) XOR or c=0110 (6) XOR
---------- ----------
a=0101 (5) b=0011 (3)