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
而00011011表示的十进制数是27。

posted on 2013-11-01 14:59  那些年的某一天  阅读(23507)  评论(2编辑  收藏  举报