- 小端的数据存储:
- 数据低位存在地址低位,数据高位存在地址高位;
- 大端的数据存储:
- 数据低位存在地址高位,数据高位存在地址低位;
- 图例显示:
- 验证PC是大端还是小端的代码:
#include <stdio.h>
int main(int argc, const char *argv[])
{
unsigned int m = 0X12345678;
unsigned char *n = (unsigned char *)&m;
//打印每个数据位存储的地址位
for(int i = 0; i < 4; i++){
printf("%p: %#X\n",n+i,*(n + i));
}
//0X12U或者0X78U表示无符号
//*n表示数据最低位
if(0X78U == *n){
printf("小端\n");
} else if(0X12U == *n){
printf("大端\n");
}
return 0;
}
- 运行结果:
000000000062FE0C: 0X78
000000000062FE0D: 0X56
000000000062FE0E: 0X34
000000000062FE0F: 0X12
小端