可能重复:
'^'在c#(枚举)中做了什么?
这可能是一个愚蠢的问题但是......我没有看到Xor在C++或C#中的含义.我认为它可能意味着和/或如果确实如此,我很聪明,因为这是一个盲目的猜测= D. 我现在使用C#,但我很确定xor意味着同样的事情.问题是 - 我不知道xor意味着什么.我知道xor由^表示.我也想知道^^的意思.
异或两位之间意味着如果一位且仅一位为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)