CPU采用的是大端模式还是小端模式,直接影响数据在内存空间的存储顺序。大端模式(Big-endian)时高字节优先存储。小端模式(Little-Endian)时低字节优先存储。(注:网络通信中的网络字节顺序(NBO)采用的是高字节优先即大端模式)
如将0x123456abcdef:
地址 Big-endian Little-Endian
0x0000 0x12 0xef
0x0001 0x34 0xcd
0x0002 0x56 0xab
0x0003 0xab 0x56
0x0004 0xcd 0x34
0x0005 0xef 0x12
判断CPU运行模式的函数:
int checkCPU(void)
{
{
union w
{
int a;
char b;
} c;
c.a = 1;
return(c.b ==1);
}
}
由于联合体中是在字节顺序存储的,c.a的值即为0x01
返回‘0’时即为大端模式,返回‘1’时即为小端模式。
阅读(1500) | 评论(0) | 转发(0) |