大小端记忆方式
只记小端的就可以。小端和书写序一致,高->低,左边是高位。
C++中判断大小端的方法
核心在于用一字节的char去截取最高byte/最低byte。
// 方法一:
unsigned short v = 0x0102;
unsigned char *p = (unsigned char *)&v; // 其实就是指针赋值+对内存含义解释变化(类型转换)
if (*p == 0x01)
printf("big\n");
else if (*p == 0x02)
printf("small\n");
// 方法二:利用union的特性
union U{
int i;
char c;
};
U u;
u.i=1;
if(u.c==1) printf("small\n");
else printf("big\n");