我正在为前门和门实施真值表。它可以实现得更简单吗?

时间:2016-11-14 02:40:33

标签: java logic

此片段将输入视为布尔值,并返回ex-nor gate

的输出
public boolean exnor_gate(boolean a, boolean b) {
    if (a==true){
        if(b==true)
            //a1, =b=1 
            return true;
        else 
            //a=1, b=0
            return false;
    }
    else {
        if(b==true)
            //a=0, b=1
            return false;
        else 
            //a=0, b=0
            return true;
    } 
}

上述代码是否有任何简单的实现?

1 个答案:

答案 0 :(得分:1)

您可以使用^运算符,它是XOR运算符。你可以这样实现它

public boolean exor_gate(boolean a, boolean b) {
  return a ^ b;
}

这是结果的真值表

A | B | XOR
-----------
T | T | F
T | F | T
F | T | T
F | F | F

修改:正如Erwin所说,您可能正在尝试实施!(a ^ b)a == b的XNOR。这将实现为

public boolean xnor_gate(boolean a, boolean b) {
  return a == b;
}

用真值表:

A | B | XNOR
------------
T | T | T
T | F | F
F | T | F
F | F | T