int a = 5; int b = 30; Console.WriteLine(a^b); Console.ReadKey(); 输出结果是27
这是因为 5的二进制是0000 010130的二进制是0001 1110而异或的算法就是,两个二进制数的每一位进行比较,如果相同则为0,不同则为1。所以应该列式:
0000 01010001 1110--------------0001 1011就得到了 0001 1011。而这个二进制表示的十进制数是27。