大端序小端序

摘自《Linux内核编程》

大端序就是指:最高位字节存储在低地址空间,最低位字节存储在随后的3个地址空间中(以32位数据而言)。

小端序和大端序相反:最低位字节存储在地地址空间,最高位字节存储在随后的三个地址空间中(以32位数据而言)。

比如看这个:十六进制数0x12345678的表示:

32位大端序表示
12 34 56 78
8 16 24

 

32位小端表示
78 56 34 12
0 8 16 24

 

 

 

 

 

 

备注:0x12345678中 12 是高位,78是低位。

x86体系结构是用小端序。

编程查看自己电脑是大端还是小端:

1 int a = 1;
2 printf("sizeof int : %d\n",sizeof(int));
3 printf("是大端序吗? %c\n",((char*)&a)[sizeof(int)-1]==1?'y':'n');

代码改自:《大端序,小端序》 这里有详细解释,不再赘述。

 

 

posted @ 2014-03-16 16:18  april吖~  阅读(204)  评论(0编辑  收藏  举报