c#的异或运算符

时间:2021-09-02 01:14:11

int a = 5;
 int b = 30;
 Console.WriteLine(a^b);
 Console.ReadKey();  输出结果是27

这是因为 5的二进制是
0000 0101
30的二进制是
0001 1110

异或的算法就是,两个二进制数的每一位进行比较,如果相同则为0,不同则为1。所以应该列式:

0000 0101
0001 1110
--------------
0001 1011

就得到了 0001 1011。而这个二进制表示的十进制数是27。