相关疑难解决方法(0)

三个值的XOR

进行三向异或的最简单方法是什么?

换句话说,我有三个值,我想结果为true IFF只声明一个三个值是真实的.

到目前为止,这是我提出的:

((a ^ b)&&(a ^ c)&&!(b && c))|| ((b ^ a)&&(b ^ c)&&!(a && c))|| ((c ^ a)&&(c ^ b)&&!(a && b))

是否有更简单的事情做同样的事情?


以下是上述完成任务的证明:

a = true; b = true; c = true
((a ^ b) && (a ^ c) && !(b && c)) || ((b ^ a) && (b ^ c) && !(a && c)) || ((c ^ a) && (c ^ b) && !(a && b))
=> false

a = true; b = …
Run Code Online (Sandbox Code Playgroud)

language-agnostic logic boolean xor boolean-expression

34
推荐指数
4
解决办法
1万
查看次数