El siguiente códigoEn Java XOR con tres entradas verdaderas devuelve verdadero. ¿Por qué?
System.out.println("1 0 0: " + (true^false^false));
System.out.println("1 0 1: " + (true^false^true));
System.out.println("1 1 0: " + (true^true^false));
System.out.println("1 1 1: " + (true^true^true));
System.out.println("0 0 0: " + (false^false^false));
System.out.println("0 0 1: " + (false^false^true));
System.out.println("0 1 0: " + (false^true^false));
System.out.println("0 1 1: " + (false^true^true));
salidas:
1 0 0: true
1 0 1: false
1 1 0: false
1 1 1: true
0 0 0: false
0 0 1: true
0 1 0: true
0 1 1: false
¿Por qué XOR vuelve true
cuando las tres entradas son true
?
Si se trata de la lógica válida cómo puedo implementar una lógica que devuelve true
única si uno de los elementos de entrada es true
(no importa cuántas entradas proporciono)?
'verdadera^^ verdadera true' se puede escribir (por entender) como' (verdadero^verdadera)^true' cual es 'verdad'. –