定义一个宏实现把一个整形的二进制位的奇偶进行交换。
例如:输入10 ->1010
输出 5 ->0101
实现步骤:
1.把整数的奇数位提出,将偶数位清零(按位与&上0101)
此刻结果为:0000
2.同样将偶数位提出,并将奇数位清零(&1010)
此刻结果为:1010
3.再将偶数位>>1,奇数位<<1
4.按位或|
5.由于32个bit太长,所以为了简洁代码,将4个bi
本文介绍了如何使用宏定义来交换一个整形数的二进制位奇偶部分。通过按位与、按位移位和按位或等操作,实现了将输入数字如10(1010)转换为5(0101)的过程。
定义一个宏实现把一个整形的二进制位的奇偶进行交换。
例如:输入10 ->1010
输出 5 ->0101
实现步骤:
1.把整数的奇数位提出,将偶数位清零(按位与&上0101)
此刻结果为:0000
2.同样将偶数位提出,并将奇数位清零(&1010)
此刻结果为:1010
3.再将偶数位>>1,奇数位<<1
4.按位或|
5.由于32个bit太长,所以为了简洁代码,将4个bi
6129
3357

被折叠的 条评论
为什么被折叠?
&spm=1001.2101.3001.5002&articleId=53572468&d=1&t=3&u=d3921511ec2240a39ac9a731a06e9c3c)