如何逻辑异或

时间:2017-03-10 02:53:09

标签: c# .net

我理解对于布尔值,异或表示如果输入不同,输出将打开。 link

但它如何处理非布尔值,如下所示。在C#或Javascript中,它的价值如何" 10"以下代码。有人可以帮我解释一下吗?

  Console.WriteLine(9^3);

2 个答案:

答案 0 :(得分:1)

我得到的印象是你用纯逻辑术语思考,结果必须是真或假,1或0. ^运算符 以这种方式行事,但作为一个按位运算符是每位,一次一个,而不是一次整个值。并不是9和3都是“真实的”,因此结果必须是假的。这是9 100130011,当你用xor检查每个相应的位时,得到1010,即{{1} }}:

10

答案 1 :(得分:1)

按位运算符对存储在存储器中的位执行操作。

因此,为每个十进制数取二进制值并执行操作。

 9 ---Binary Value ---> 0000 1001
 3 ---Binary Value ---> 0000 0011
      Perform EXOR (^) ------------
                        0000 1010  ---- Decimal Value --> 10
相关问题