读书人

逻辑运算符的有关问题

发布时间: 2012-11-10 10:48:51 作者: rapoo

逻辑运算符的问题
请问下什么是异或赋值啊!能给个例子看看吗?
下面的是什么意思呢?
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

读书人网 >Java Web开发

热点推荐