二进制位的倒序

8位的倒序
uint8 bin8_rev(uint8 data) 

    data=((data&0xf0)>>4) | ((data&0x0f)<<4); 
    data=((data&0xCC)>>2) | ((data&0x33)<<2); 
    data=((data&0xAA)>>1) | ((data&0x55)<<1); 
    return data; 
}
 
16位的倒序:
static INT16U BitChange(INT16U us_DataIn)
{
INT16U us_Data = us_DataIn;
us_Data = ((us_Data & 0xFF00) >> 8) | ((us_Data & 0x00FF) << 8);
us_Data = ((us_Data & 0xF0F0) >> 4) | ((us_Data & 0x0F0F) << 4);
us_Data = ((us_Data & 0xCCCC) >> 2) | ((us_Data & 0x3333) << 2);
us_Data = ((us_Data & 0xAAAA) >> 1) | ((us_Data & 0x5555) << 1);
 
return (us_Data);
}
永不止步步 发表于02-27 15:22 浏览65535次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

永不止步步
金币:67410个|学分:345377个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号