每次看字节序都晕晕的,今天稍微整理下,将理解整理如下
内存地址 从左到右 从低地址到高地址
整数大小 从左到右 从高位到低位
大端序:高位字节放在低地址,所以其在内存中的顺序就如同书写顺序一样
小端序:高位字节放在高地址,低位字节放在低地址,和人脑的思维顺序是一样的,但是呈现出来就是颠倒顺序
举例如下:整数0x1234abcd,放在内存中的顺序
0x0000 0x0001 0x0002 0x0003
大端序 12 34 ab cd
小端序 cd ab 34 12
举例:在x86机器上,运行一下代码,其结果为
typedef union Interger
{
unsigned int a;
unsigned char arrayChar[4];
}Interger_A;
int main()
{
Interger_A IntA;
IntA.arrayChar[0]=0x12;
IntA.arrayChar[1]=0x34;
IntA.arrayChar[2]=0x56;
IntA.arrayChar[3]=0x78;
printf("0x%08lx", IntA.a);
}
结果为:0x78563412