通过按位异换或运算,可以实现两个值的交换,而不需要使用临时变量,例如要交换两个整数a和b的值,可以通过以下语句实现。
a=11000001,b=01100000;
a=a^b; //此时a=10100000;
b=a^b; //此时b=11000001;
a=a^b; //此时a=01100000;这个语句我还能看明白,可是不知道为什么要这样做,具体帮我解释一下,每一步都是在作什么,为什么这样做,是一种什么思想~~谢谢各位了,我才学JAVA不久~~看的脑袋大了
a=11000001,b=01100000;
a=a^b; //此时a=10100000;
b=a^b; //此时b=11000001;
a=a^b; //此时a=01100000;这个语句我还能看明白,可是不知道为什么要这样做,具体帮我解释一下,每一步都是在作什么,为什么这样做,是一种什么思想~~谢谢各位了,我才学JAVA不久~~看的脑袋大了
解决方案 »
- 看毕老师的视频看到单例设计模式,有个问题
- 50分相送,急问Hbiernate中“insert into select”的写法?
- 怎样用netbeans实现image图片的拖拽??急
- 急:有会用EOS的动态树控件的请进
- 问一个字符编码转换的问题。
- 很初级的问题,关于重复投票问题。
- 我想请问下,java做出来的程序怎么封装啊
- 我安装了jdk1.4,JAVA_HOME也设了,在cmd里面编译时报错:Exception in thread "main" java.lang.NoClassDefFoundError
- 深入讨论Java效率,关心Java前途者请进
- 如何区分数据是英文还是中文?
- zxing,qrcode对二维码识别的兼容性问题
- 求介绍哪里有比较好的ssh视频教程或资料
a=a^b; //此时a=10100000;
b=a^b; //此时b=11000001;
a=a^b; //此时a=01100000;"^"是按位异或,只有在两个比较的位不同时其结果是1.否则为零。
你的a值错了吧
应该是a=10100001;