交换a、b的值temp = a; a = b; b = temp;比a = a^b;b = a^b;a = a^b;快
2015-07-26 23:28
441 查看
先看代码,交换a、b的值十亿次
运行结果(纳秒):
用时ns:996150
用时ns:1769620
发现使用赋值交换比位运算交换两个数的值要快将近一倍。
<span style="font-size:14px;"> int a=222; int b=111; int size = 1000000000; int temp=0; long start = System.nanoTime(); for (int i = 0; i < size; i++) { temp = a; a = b; b = temp; } System.out.println("用时ns:"+(System.nanoTime()-start)); a=222; b=111; start = System.nanoTime(); for (int i = 0; i < size; i++) { a = a^b; b = a^b; a = a^b; } System.out.println("用时ns:"+(System.nanoTime()-start));</span>
运行结果(纳秒):
用时ns:996150
用时ns:1769620
发现使用赋值交换比位运算交换两个数的值要快将近一倍。
相关文章推荐
- 广搜状态压缩 OpenJudge 百炼4105
- poj 2392 Space Elevator
- struts文件上传拦截器中参数的配置(maximumSize,allowedTypes ,allowedExtensions)问题
- hdu4101
- Java中IO小结
- POJ 2479 Maximum sum(双向DP)
- linux 进程等待 wait 、 waitpid
- Android SDK Manager国内下载缓慢或不能下载的问题
- 糟糕的一天
- hd2674 N!Again
- 几种排序算法综合比较(快速,归并,希尔,堆排序等)
- UI-框架---快切
- VisualSVN Server安装过程
- Ununtu 12.04 x64位安装docker
- VisualSVN Server安装过程
- 正确处理浏览器在下载文件时HTTP头的编码问题(Content-Disposition)
- SQL Server因为数据库正在使用,所以无法获得对数据库的独占访问权
- WorldWind源码剖析系列:星球表面渲染类WorldSurfaceRenderer
- [MAC][Linux]awk使用
- centos7 网络sshd配置、域名配置