按位翻转数据算法

unsigned char ReverseBits(unsigned char ch)
{ 
       ch = (ch & 0x55) << 1 | (ch >> 1) & 0x55; 
       ch = (ch & 0x33) << 2 | (ch >> 2) & 0x33; 
       ch = (ch & 0x0F) << 4 | (ch >> 4) & 0x0F; 
      return ch;
 }



0x55 -> 01010101 B 

0x33 -> 00110011 B 

0x0F -> 00001111 B

从中可以看出,是先将相连的两bits 对调--实现相连2 bits数据翻转;接着两个相连的“2 bits组合”对调--实现相连4 bits数据翻转;再下来就是将两个相连的“4 bits组合”对调--即可以完成对一个字符8 bits的翻转。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值