int a = 5;
int b = 30;
Console.WriteLine(a^b);
Console.ReadKey(); 输出结果是27
> 输出结果为27的原因:
在这里
5的二进制是 0000 0101
30的二进制是 0001 1110
> 而异或的算法就是,两个二进制数的每一位进行比较,如果相同则为0,不同则为1
>即:
0000 0101
0001 1110
--------------
0001 1011
而00011011表示的十进制数是27,所以最后结果为27