大小端 位域

小端 : 低位(LSB) 位于低地址
大端 : 高位(MSB)位于低地址

x86一般使用小端模式

位域:
typedef union {
     struct{
          LiteU32 off : 26;
          LiteU32 w : 6;
     };
     LiteU32 t;
}test_t;
位域的分配:
》小端:从LSB-》MSB,从低地址到高地址
》大端:从MSB-》LSB,从高地址到低地址
例如:
test_t tt;
tt.t=0x3f;
printf("tt1 w=%#04x, off=%#10x : byte1=%#04x %#04x %#04x %#04x \n",tt.w,tt.off,p[0],p[1],p[2],p[3]);

在小端的系统中输出如下:
tt1 w=0x00 off= 0x3f : byte1 0x3f 0x0 0x0 0x0
在大端的系统中输出如下:
tt1 w=0x3f off= 0x0 : byte1 0x0 0x0 0x0 0x3f

你可能感兴趣的:(位域,大小端)