[java学习]移位运算交换两数的值的出错情况
2016-01-25 13:46
302 查看
移位运算,交换两数的值
[code] int a=10; int b=52; System.err.println("开始:"+a+","+b); a=a^b; b=a^b; a=a^b; System.err.println("结束:"+a+","+b);
结果是:
[code]开始:10,52 结束:52,10
什么时候会出错呢?
当两个数都是自己时,将会计算出错,结果都会是0.[code] int a=10; //int b=52; System.err.println("开始:"+a+","+a); a=a^a; a=a^a; a=a^a; System.err.println("结束:"+a+","+a);
结果是:
[code] 开始:10,10 结束:0,0
相关文章推荐
- Java枚举应用实例
- [算法学习]Java实现字符串全排列
- Java中的对象和对象引用实例浅析
- Java JVM使用哪种编码格式
- java反编译插件jadclipse安装
- spring MVC配置详解
- java基础篇--07<java异常处理>
- JAVA中获取项目文件路径[转载的一篇关于 相对路径 的文章]
- java正则表达式的匹配
- Spring中bean三种注解方式。
- Java 高级类(下) —— 内部类和匿名类
- JAVA压缩图片并打成ZIP
- java不可变类中静态成员变量可以改变吗
- activemq的配置与结合spring使用
- java正则去掉小数点后多余0
- 华为oj题目(java版)
- java基础之& 和 && 的差别
- Java题,class A { static int x; } class B { A a = new A(); a.x=1; }错在哪
- java(二十一)集合 ArrayList
- eclipse快捷键