本文主要是介绍二进制位的倒序(牛人代码),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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);
}
这篇关于二进制位的倒序(牛人代码)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!