大小端存储问题(字节序问题):
CPU的不同,对多字节数据存储的方式也不同。
1. Little-endian:将低序字节存储在起始地址(低位编址)
2. Big-endian:将高序字节存储在起始地址(高位编址)
小端存储:地址低位存储数据低位,地址高位存储数据高位
大端存储:地址低位存储数据高位,地址高位存储数据低位
如图:
可以通过一个程序判断CPU的大小端存储:
#include <stdio.h>
int main(){
//通过指针判断大小端
int a = 0x12345678;
char *p = (char *)&a;
if(0x78 == *p){
printf("小端\n");
}else if(0x12 == *p){
printf("大端\n");
}
return 0;
}
博客介绍了CPU多字节数据存储的大小端问题。Little - endian是将低序字节存于起始地址,Big - endian则是将高序字节存于起始地址。小端存储是地址低位存数据低位,大端相反。还提到可通过程序判断CPU的大小端存储。

4350

被折叠的 条评论
为什么被折叠?



