xor定义(这句话是为了使标题可以接受)

-5 c# c++ xor

可能重复:
'^'在c#(枚举)中做了什么?

这可能是一个愚蠢的问题但是......我没有看到Xor在C++或C#中的含义.我认为它可能意味着和/或如果确实如此,我很聪明,因为这是一个盲目的猜测= D. 我现在使用C#,但我很确定xor意味着同样的事情.问题是 - 我不知道xor意味着什么.我知道xor由^表示.我也想知道^^的意思.

pax*_*blo 6

异或两位之间意味着如果一位且仅一位为1则结果为1.

真值表是:

   | 0 | 1
---+---+---
 0 | 0 | 1
 1 | 1 | 0
Run Code Online (Sandbox Code Playgroud)

当你谈到xoring一个更大的值时,它只是一次取一个,所以:

    1111 0000
xor 1010 1010
    ---- ----
  = 0101 1010
Run Code Online (Sandbox Code Playgroud)

对于它的价值,完整的二进制操作列表:

  • and,1仅当其输入均为1时,否则为0.
  • or,0仅当其输入均为0时,否则为1.
  • xor,1只有当其中一个(不是两个)输入为1时,否则为0.
  • not,1仅在其输入为0时,否则为1.

和真相表:

and| 0 | 1      or| 0 | 1     xor| 0 | 1     not| 0 | 1
---+---+---    ---+---+---    ---+---+---    ---+---+---
 0 | 0 | 0      0 | 0 | 1      0 | 0 | 1        | 1 | 0 
 1 | 0 | 1      1 | 1 | 1      1 | 1 | 0 
Run Code Online (Sandbox Code Playgroud)