版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
概念
大端模式(Big_endian):字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。
小端模式(Little_endian):字数据的高字节存储在高地址中,而字数据的低字节则存放在低地址中。
口诀:大相反(低位存高位),小相同(低位存低位)
举例
32位宽的数0x12345678在小端模式CPU内存中的存放方式(假设从地址0x4000开始存放)
在union中的影响
typedef union
{
uint32_t word;
uint8_t byte[4];
}union_Type;
int main(void)
{
union_Type test;
test.word = 0x12345678;
printf("%x %x %x %x\n",test.byte[0],test.byte[1],test.byte[2],test.byte[3]);
}
小端模式下的结果:78 56 34 12
大端模式下的结果:12 34 56 78