按位异或运算符

能解释一下下面的情况嘛?
i=21 0000000000010101
j=56 0000000000111000
则i ^=j i = 00000000001010000
能解释一下是为什么吗?按位异或不是相同为0不同为1嘛?

正确结果101101,解决方法如下:

1、首先打开电脑上的eclipse软件,配置好jdk的,如下图所示。

2、然后在打开的软件页面中,选择new一个Javaproject,如下图所示。

3、接着新建一个class文件,勾引main选项,自动调用main方法,如下图所示。

4、然后输入代码System.out.println(5 ^ 10 ^ 10),如下图所示。

5、这时控制台会出现5,^的特点:一个数据对另一个数据位异或两次,该数本身不变,如下图所示就完成了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-30

你好,异或的确是相同为0 不同为1 

所以 21^56 最终  应该为   101101  = 45  ,我这边是对的。如图:

应该是你计算错了。希望对你有所帮助

第2个回答  推荐于2018-03-30

给出的答案有误。应该是:

按位异或,就是相同为0不同为1

本回答被网友采纳
第3个回答  2012-07-08
正确结果101101追问

是不是就是相同为0不同为1

追答

正确

本回答被提问者采纳
第4个回答  2018-03-30
按位异或的确是相同为0不同为1,上面i^=j的结果是错的
相似回答