新手上路
- 积分
- 37
- 金钱
- 37
- 注册时间
- 2020-4-27
- 在线时间
- 4 小时
|
发表于 2022-7-16 17:11:36
|
显示全部楼层
本帖最后由 suiyuan57 于 2022-7-16 17:14 编辑
抄一个博主的算法,看一看
unsigned char shift_fun2(unsigned char data) { data=(data<<4)|(data>>4);
data=((data<<2)&0xcc)|((data>>2)&0x33);
data=((data<<1)&0xaa)|((data>>1)&0x55);
printf(" after shift fun2 data=%x \n",data);
return data;
}
可以做一下执行演算:
假设原始位序列为 0 1 0 1 1 0 0 1
data=(data<<4)|(data>>4);之后序列为 1 0 0 1 0 1 0 1
data=((data<<2)&0xcc)|((data>>2)&0x33); 之后序列为 0 1 1 0 0 1 0 1
data=((data<<1)&0xaa)|((data>>1)&0x55); 之后序列为 1 0 0 1 1 0 1 0
————————————————
版权声明:本文为CSDN博主「小熊coder」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41854911/article/details/117390949
|
|