请问怎样颠倒一个八位二进制数的顺序?
来源:百度知道 编辑:UC知道 时间:2024/04/30 13:24:46
谢啦~
用堆栈来做
直接做一个lookup table,空间换时间,是最快的,一共才256个数么
a[256]={0,128,64,192,....
a[i]就是i的倒序
用数组吧```
typedef struct SwUChar//声明两个字节的位域。
{//Bit0x用于接收要转换的字节,Bit1x用于储存转换后的字节
unsigned char Bit00 :1;
unsigned char Bit01 :1;
unsigned char Bit02 :1;
unsigned char Bit03 :1;
unsigned char Bit04 :1;
unsigned char Bit05 :1;
unsigned char Bit06 :1;
unsigned char Bit07 :1;
unsigned char Bit10 :1;
unsigned char Bit11 :1;
unsigned char Bit12 :1;
unsigned char Bit13 :1;
unsigned char Bit14 :1;
unsigned char Bit15 :1;
unsigned char Bit16 :1;
unsigned char Bit17 :1;
}SwUChar_def;
typedef union LHUchar//定义联合体,声明一个两位数组。
{//ch[0]与Bit0x对应,ch[1]与Bit1x对应
unsigned char ch[2];
SwUChar_def SwUChar1;
}LHUchar_def;
LHUchar_def LHUchar1;//需提前声明,占用两个字节
unsigned char swap_uchar(unsigned char x)//直接调用即可
{
LHUchar1.ch[0] = x;
LHUcha