一、大端、小端存儲區別
大端存儲:低字節放在高地址,高字節放在低地址。
小端存儲:高字節放在高地址,低字節放在低地址。
數據0X12345678在0X20000000地址上的存儲方式:
地址 | 小端 | 大端 |
0X20000000 | 0X78 | 0X12 |
0X20000001 | 0X56 | 0X34 |
0X20000002 | 0X34 | 0X56 |
0X20000003 | 0X12 | 0X78 |
二、區別機器存儲方式
#include "stdio.h"
typedef union
{
unsigned char b;
unsigned int a;
}Test_Union;
int main()
{
Test_Union TU;
TU.a = 0X12345678;
if(TU.b == 0X12)
{
printf("Big Endian\r\n");
}
else if(TU.b == 0X78)
{
printf("Little Endian\r\n");
}
return 0;
}