Qu'est-ce que la fonction inverse de XOR?


91

Il existe une fonction XOR en Java - a^b

Par exemple: 5^3 = 6

Pouvez-vous me dire la fonction inverse? Si j'ai 6et 3puis-je obtenir une plage de nombres comprenant un nombre 5?

Réponses:


194

L'inverse est XOR!

Si tu as:

c = a^b;

Vous pouvez obtenir aou brevenir 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 = 6comme 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)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.