如何确定小端和大端

小端法:底位字节在最前面;大端:高位字节在最前面。其中,必须清楚数据存储是地址由底到高存储的,因此,最前面表示的是地址最小。

比如:十六进制数:0x01234567,高位字节的十六进制为0x01,而低位字节为0x67;地址范围为0x100 ~ 0x103

大端法:

... 01 23 45 67 ...
         0x100

小端法:

... 67 45 23 01 ...
         0x100

也可以通过编程来实现(我用的是linux 64位):

#include 
int main()
{
         int a = 12345;
         unsigned char* p = (unsigned char *)&a;
         int i;
         for(i = 0; i < sizeof(int); i++)
                 printf("%.2x",p[i]);
}
输出的结果:39300000。

其中 12345的十六进制为0x00003039,因此是小端法



你可能感兴趣的:(如何确定小端和大端)