¿Qué es la función inversa de XOR?


91

Hay una función XOR en Java - a^b

Por ejemplo: 5^3 = 6

¿Puedes decirme la función inversa? Si tengo 6y 3puedo conseguir rango de números que incluyen el número 5?

Respuestas:


194

¡Lo inverso es XOR!

Si usted tiene:

c = a^b;

Puede obtenerlo ao bdevolverlo si tiene el otro valor disponible:

a = c^b; // or b^c (order is not important)
b = c^a; // or a^c

Por ejemplo a = 5, si , b = 3(y así c = 6como mencionaste) obtienes:

b=0011 (3)            a=0101 (5)
c=0110 (6) XOR   or   c=0110 (6) XOR
----------            ----------
a=0101 (5)            b=0011 (3)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.