下面的代码在具有三个真实输入的Java XOR中返回true。为什么?
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));
输出:
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
为什么XOR返回true
当所有三个输入都是true
?
如果这是我如何可以实现返回true
只有如果输入要素之一是true
(不管有多少投入提供)逻辑有效的逻辑?
'真真正^^TRUE'可以(谅解)为'被写入(真^真)^ TRUE'这是TRUE;。 – 2011-06-03 01:46:32