|
发表于 2014-4-18 20:28:22
|
显示全部楼层
估计是遇到很困扰的问题,然后就一顿挖,然后就挖到坟贴了
共用体(联合体)的方法 把一個unsigned long變量, 分給4個 unsigned char,判断大小端模式
typedef struct{
unsigned char a : 8;
unsigned char b : 8;
unsigned char c : 8;
unsigned char d : 8;
}LONG_BYTES;
typedef union{
unsigned long LONG_Int;
LONG_BYTES Long_Bytes;//此处将结构体换成unsigned char的数组也可以
}LONG_INT;
unsigned char a = 0, b = 0, c = 0, d = 0;
void main(void)
{
LONG_INT T; //声明一个 联合体
T.LONG_Int = 0x12345678;//整体赋值
a = T.Long_Bytes.a; //0x78 看 地址与权值的对应关系
b = T.Long_Bytes.b; //0x56
c = T.Long_Bytes.c; //0x34
d = T.Long_Bytes.d; //0x12 所以是小端模式
}
|
|