我有一个与布尔逻辑相关的非常基本的问题。我有两个布尔标志 -flagA
和flagB
. 我需要根据和flagC
的值进行计算。flagA
flagB
代码/规则是:
if($flagA && $flagB) {
$flagC = true;
} else if (!$flagA || !$flagB) {
$flagC = false;
} else if(!$flagA && !$flagB) {
$flagC = true;
}
这些规则与 XNOR 真值表匹配 - http://en.wikipedia.org/wiki/XNOR_gate
我想找出不同的方法来重写上面的代码(如果可能的话):
- 更少的代码行
- 更好的性能(即使是微小的差异)
- 使用位移?
我希望用 php、ruby/ruby on rails 编写这个语言。任何帮助/指针都会很棒!谢谢!