小端 : 低位(LSB) 位于低地址
大端 : 高位(MSB)位于低地址
x86一般使用小端模式
位域:
typedef union {
struct{
LiteU32 off : 26;
LiteU32 w : 6;
};
LiteU32 t;
}test_t;
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