/**************************************************************
函数功能:位反转(位逆序,位颠倒)
输入:x
返回值:8位数据颠倒后的值,例:输入0101 1111,返回1111 1010
*****************************************************************/
unsigned char Reverse8Bits(unsigned char x)
{ //1010 1010 0101 0101
x = (((x & 0xaa) >> 1) | ((x & 0x55) << 1));//相邻位交换
//1100 1100 0011 0011
x = (((x & 0xcc) >> 2) | ((x & 0x33) << 2));//相邻2位为一组,相邻的两组进行交换
//1111 0000 0000 1111
x = (((x & 0xf0) >> 4) | ((x & 0x0f) << 4));//相邻4位为一组,相邻的两组进行交换
// x = ((x >> 4) | (x << 4));
return x;
}
8位数据位反转(位逆序、位颠倒)
于 2024-08-23 19:16:34 首次发布