No Java XOR com três entradas verdadeiras retorna verdadeiro. Por quê
O código a seguir
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));
outputs:
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 que o XOR retornatrue
quando todas as três entradas foremtrue
?
Se é lógica válida, como posso implementar uma lógica que retornetrue
s se um dos elementos de entrada fortrue
(não importa quantas entradas eu forneça)?