C#中的异或操作
在看一个算法题时,看到异或这种操作,平时在项目开发中在代码中用的很少,于是特意看了一下,总结如下:
异或 在英文中是 Exclusive OR, 缩写成 xor. 在C#中用^来表示异或运算符, 这个运算符主要是用来进行二进制比较
异或对二进制数据进行比较,对二进制中的每一位进行比较,如果相同,结果为0.如果不同,结果为1
比如 5的二进制是 0000 0101, 30的二进制是 0001 1110, 现在 5^30 的运算结果是这样的:
0000 0101
0001 1110
----------------
0001 1011 这个二进制对应的十进制数是27, 所以结果就是27. 所以异或运算总结如下:
左边操作数 | 运算符 | 右边操作数 | 结果 |
1 | ^ | 0 | 1 |
1 | ^ | 1 | 0 |
0 | ^ | 0 | 0 |
0 | ^ | 1 | 1 |