逻辑运算符的问题
请问下什么是异或赋值啊!能给个例子看看吗?
下面的是什么意思呢?
a = a ^ b;
b = a ^ b
a = a ^ b
还有为什么赋值给a,b时结果怎么并不是相加的
int a=3;
int b=7;
a^=b;
System.out.println(a);
输出的结果为:4
但是当赋值为下面的时候它又是相加的
int a=3;
int b=8;
a^=b;
System.out.println(a);
输出结果为:8
弄的好糊涂啊!希望高手能指点下!小弟刚刚接触这个!
------解决方案--------------------
按位异或运算,相同为0,不同为1。。3的二进制是00000011,7的二进制是00000111。异或后100,换算成十进制就是4了。
8的二进制是0001000,3与8异或后0001011,换算成十进制是11