我正在尝试找到在C中编写XNOR门的最有效方法。
if(VAL1 XNOR VAL2)
{
BLOCK;
}
有什么建议吗?
感谢。
答案 0 :(得分:22)
有两个操作数,这很简单:
if (val1 == val2)
{
block;
}
答案 1 :(得分:7)
if(!(val1^val2))
{
block;
}
编辑:在逻辑运算之外,你可能希望~(val1^val2)
是准确的,但我找到了!更加清晰。
答案 2 :(得分:0)
假设val1
和val2
将以正常的C逻辑布尔方式处理(非零为真),则:
if (!val1 ^ !!val2)
{
}
会做到这一点。