大小端模式介绍:
例如:int a = 1;
a 的值为1,其中变量a占4个字节. 用16进制表示为0x00000001 四个字节 (16进制,2位表示一个字节)
如果是小端模式则内存存储方式如下:
低地址
01 |
00 |
00 |
00 |
如果是大端模式则内存存储方式如下:
低地址
00 |
00 |
00 |
01 |
总结:小端模式的高位字节(注意:0x00000001 其中00是高位字节)放在高地址。大端模式的高位字节存放到低地址。
《C语言深度剖析》中判断机器大小端模式的代码如下:
int CheckSystem()
{
union check
{
int i;
char ch;
}c;
c.i = 1;
return (c.ch == 1);
}
int main(void)
{
printf("%d\n",CheckSystem());
return 0;
}
如果输出0,表示为大端模式。