给定一个整数实现奇偶bit位互换
2016-04-14 22:21
218 查看
1.分别取出所有奇数bit位和偶数bit位
0x55555555(对应二进制奇数bit位为1,偶数bit位全为0)&num
0xaaaaaaaa(对应二进制即偶数bit位为1,奇数bit位全为0)&num
2.将奇数bit位的所有数字<< 1,偶数bit位的数字>> 1,然后做或(|)或者加操作,即有宏定义如下:
#define EXCHANGE(num) (((0x55555555 & num) << 1) + ((0xaaaaaaaa & num) >> 1))
0x55555555(对应二进制奇数bit位为1,偶数bit位全为0)&num
0xaaaaaaaa(对应二进制即偶数bit位为1,奇数bit位全为0)&num
2.将奇数bit位的所有数字<< 1,偶数bit位的数字>> 1,然后做或(|)或者加操作,即有宏定义如下:
#define EXCHANGE(num) (((0x55555555 & num) << 1) + ((0xaaaaaaaa & num) >> 1))
相关文章推荐
- 常用的两款代码文档生成器
- spark
- R ggplot2画柱状图
- linux的sendfile系统调用
- 解决Hibernate:could not initialize proxy - no Session
- listview 嵌套gridview notifyDataSetChanged无效
- javascript中面向对象中对象,属性,原型链和一些扩展知识总结
- Hibernate的抓取策略
- T图像处理简介
- 0414
- [MAC Eclipse] Eclipse for MAC 中文乱码的解决办法
- 类、对象和包
- dirname(__FILE__) 的使用总结
- C语言 随机数的简单研究
- react Native 运行程序报错解决笔记
- Linux文件系统的类型
- 贪心算法作业之多处最优服务次序问题
- lavarel之容器Application构造函数分析
- 实习总结系列4
- Hibernate的Annotation注解