如何在C#中输入不常见的逻辑门?

时间:2017-09-06 17:06:31

标签: c# logic

我知道你可以使用||代表OR,&&代表AND,而!实际上代表NOT,但是其他逻辑门如NOR,XOR等等呢? ?

3 个答案:

答案 0 :(得分:5)

只需从你拥有的逻辑表达式中构建更复杂的逻辑表达式。

NOR将是(!x && !y)

XOR将为(x && !y) || (!x && y)

  

正如@AleksAndreev指出的还有一个XOR运算符^

答案 1 :(得分:2)

C#中唯一的逻辑中缀运算符是:

  • |逻辑OR(此运算符始终计算两个操作数)
  • ||条件OR(如果第一个操作数为true,则C#不计算第二个操作数)
  • &逻辑AND(此运算符始终计算两个操作数)
  • &&条件AND(如果第一个操作数为false,则C#不计算第二个操作数)
  • ^ XOR

'not'运算符是前缀运算符:

  • !

要执行与其他逻辑门类似的逻辑操作,您必须使用逻辑运算符的组合,例如:

  • !(A && B) NAND
  • !(A || B) NOR
  • !(A ^ B) XNOR

答案 2 :(得分:1)

对于XOR,您可以使用^符号

// Logical exclusive-OR
// When one operand is true and the other is false, exclusive-OR 
// returns True.
Console.WriteLine(true ^ false);
// When both operands are false, exclusive-OR returns False.
Console.WriteLine(false ^ false);
// When both operands are true, exclusive-OR returns False.
Console.WriteLine(true ^ true);
     

https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/xor-operator

对于NOR,您可以使用!||

的组合