C++数据交换速度测试(按位异或vs普通交换):
来源:互联网 发布:太阁立志传5 町数据 编辑:程序博客网 时间:2024/05/20 06:30
普通交换法
这种方法的原理是搬运
include <iostream> using namespace std; int main() { int a = 7; int b = 4; int t; for (int i = 0;i<1000000000;i++) { t = a; a = b; b = t; } return 0; }
按位异或交换法
这种方法的原理是一个数按位异或他自己等于0,一个数按位异或0等于他自己。
#include <iostream> using namespace std; int main() { int a = 7; int b = 4; int t; for (int i = 0;i<1000000000;i++) { a = a^b; b = a^b; a = a^b; } return 0; }
结论
虽然第二种方法很有灵性,但是速度上却很瓜皮。
当操作大数据时,例如图数据,计算量可能不止十个亿,那么我们要选择更快的方法,而不要追求帅气。
1 0
- C++数据交换速度测试(按位异或vs普通交换):
- C数据交换
- C 数据交换
- Java day02 方法(交换数据,普通形式)
- 交换” vs “路由”(2)
- JSON -- c语言,数据交换
- C/S交换数据过程
- 电路交换Vs分组交换
- 分组交换VS电路交换
- 通过异或交换数据内容。
- 利用异或方法实现数据交换
- 【经典算法】--异或实现数据交换
- 数据交换
- 交换数据
- 数据交换
- 数据交换
- 交换数据
- 数据交换
- 二进制流读取图片
- C++学习笔记
- JPA学习--JPA中的UserTransaction的理解
- Resolved versions for app (24.2.0) and test app (23.1.1) differ
- Android -- Wifi扫描流程分析
- C++数据交换速度测试(按位异或vs普通交换):
- java中final finally finalize的区别
- IntrospectorCleanupListener作用
- iOS之悬浮视图:按钮/图片/轮播图/gif图/视频/音频/自定义view
- vlc源码分析之RTSP会话流程
- PHP实战——开发遇到过的错误问题与解决方案汇总
- 像写C#一样编写java代码
- Linux下/etc/passwd和/etc/shadow文件详解
- ModBus通信协议