博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
给定一个整数实现奇偶bit位互换
阅读量:6332 次
发布时间:2019-06-22

本文共 287 字,大约阅读时间需要 1 分钟。

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))  

转载于:https://www.cnblogs.com/520xiuge/p/5393323.html

你可能感兴趣的文章
迭代输出
查看>>
RabbitMQ学习总结(6)——消息的路由分发机制详解
查看>>
DB_oracle11g服务器调整内存后报ORA-00845
查看>>
Git使用详细教程
查看>>
Python字符串格式化
查看>>
mysql执行计划初步解读1
查看>>
Spring学习总结(2)——Spring的常用注解
查看>>
我已不是我--素养训练课
查看>>
MyBatis学习总结(9)——使用MyBatis Generator自动创建代码
查看>>
namenode ha by zookeeper
查看>>
Java 使用 Redis
查看>>
MyBatis学习总结(五)——实现关联表查询
查看>>
大型网站技术架构(一)大型网站架构演化
查看>>
Catalan数与出栈顺序个数,Java编程模拟
查看>>
Linux的shell脚本的语句,函数,检测服务,启动脚本的练习
查看>>
Mysql学习总结(3)——MySql语句大全:创建、授权、查询、修改等
查看>>
Java注释模板
查看>>
[UOJ86]mx的组合数——NTT+数位DP+原根与指标+卢卡斯定理
查看>>
Spring学习详解(1)——Spring入门详解
查看>>
大型网站技术架构(六)网站的伸缩性架构
查看>>