计算机在存储数据和数据网络传输时候,数据有大端和小端两种存储模式(数据中左边为高位,右边为低位)
将数据转换为十六进制观察,一个十六进制数占4位,两位即一个字节
大端存储:
数据的高位存储于内存的低地址
小端存储:
数据的低位存储于内存的低地址
例如有一个数0x11223344,对应的内存中存储结构如图所示
下面是一个识别计算机是大小端存储的函数
int checkEdian()
{
union check // 联合体的特点共用同一个内存首地址
{
int i;
char ch;
}c;
c.i = 1; //1对应的是0x00 00 00 01
return (c.ch == 1);//此时c.ch指向的是低地址,若是小端存储,则返回值是0;否则等式成立,返回值为1,为大端存储
}