计算机存储数据时,将数据按字节为单位进行存储,而每个字节又可以分为高位和低位两部分。高位字节表示这个数据的高位部分,低位字节表示它的低位部分。
大端字节存储:把 一个数据的高位字节序内容存放在低地址处,把低位字节序的内容放在高地址处。
11 22 33 44 大端
低 高
小端字节存储:把一个数据的高位字节序内容放在高地址处 ,把低位字节序的内容放在低地址处
44 33 22 11 小端
低 高
#include <stdio.h>
int main() {
union {
short s;
char c[sizeof(short)];
} un;
un.s = 0x0102;
if (sizeof(short) == 2) {
if (un.c[0] == 1 && un.c[1] == 2)
printf("big-endian\n");
else if (un.c[0] == 2 && un.c[1] == 1)
printf("little-endian\n");
else
printf("unknown\n");
} else {
printf("sizeof(short) = %d\n", sizeof(short));
}
return 0;
}
int main{
int a=1;
if(*(char*)&a==1){
printf("小段\n")
else
printf("大端\n")
}
return 0;
}