一、大端、小端存储区别
大端存储:低字节放在高地址,高字节放在低地址。
小端存储:高字节放在高地址,低字节放在低地址。
数据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;
}