我正在寻找一种基于布尔参数反转条件表达式的方法。当然,可以通过以下方式完成此操作:
UIView
但是,将整个功能设置为单行将很有帮助。因此,就逻辑表达式而言,我正在寻找一种操作∘,以将public int do(bool b)
{
if (b)
return this.a ? 1 : 0;
else
return this.a ? 0 : 1;
}
和a
组合在一起的方式
a∘b = a
a∘(¬b)=¬a
问题:是否存在这样的逻辑操作(或操作组合)?
答案 0 :(得分:5)
看来我们要xnor:
return (!(a ^ b)) ? 1 : 0;
(但是我们没有xnor运算符,因此我将xor与not组合在一起)
或者通过交换结果子表达式来简化:
return (a ^ b) ? 0 : 1;
答案 1 :(得分:5)
我建议一个简单易懂的实现方式:
return (b == this.a) ? 1 : 0;
由于基于原始代码,因此您似乎想返回1
(如果相等),否则返回0
。
答案 2 :(得分:0)
当然,这是您需要的方法,反XOR :
public int do(bool b)
{
return b ^ this.a ? 0 : 1;
}
答案 3 :(得分:0)