- 论坛徽章:
- 0
|
如果有一个int型数,0x12345678,首先要了解MSB(Most Significant Byte,最高有效字节)即0x12,而LSB (Least Significant Byte,最低有效字节)0x78.如果LSB存储在MSB前面, 既LSB是低地址, 则该机器是小端; 反之则是大端。
我们可以通过以下两段C代码来做测试:
A.
int i=0x12345678;
char *c=(char *)&i;
if(*c==0x12)
printf("Big Endian!\n");
else
printf("Little Endian!\n");
B.
union
{
long Long;
char Char[sizeof(long)];
}u;
u.Long = 1;
if (u.Char[0] == 1)
printf("Little Endian!\n");
else
printf("Big Endian!\n");
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/81801/showart_1300024.html |
|