异或运算(^)是以二进制数据为基础进行运算的。也就是说当代码中使用到异或运算时,都会先将两个条件进行转换,转换成二进制数据后,再进行运算。异域中同位如果值相同(都是0或者都是1)则为0,不同(一个是0,一个是1)为1。
举例说明:
int a = 3
int b = 8
int c =a^b
运算过程
3的二进制是 0000 0011
8的二进制是 0000 1000
异或的结果: 0000 1011 转换之后结果为11。
扩展:二进制转换为十进制:
0000 1011去掉补齐的高位是 1011
1011 = 1x2^3+0x2^2+1x2^1+1x2^0=11