自大的人眼高手低
定义
大端序就是高字节放在低地址
小端序就是高字节放在高地址
字节(数据)的高低
从左到右,由高到低。
如有一个int 0x11223344,0x11是最高的字节,0x44是最低的字节;
0x22相对于0x11是低字节,相对于0x33是高字节
地址的高低
越靠近0x00000000的地址越低,越靠近0xffffffff的地址越高
两种方法的数据存储方式
现有0x0000001~0x00000004合计4个字节的地址,用来存储0x11223344这个32位数,那么大端序是按照原顺序储存数据的,对应关系如下:
0x00000001 – 11
0x00000002 – 22
0x00000003 – 33
0x00000004 – 44
小端序就是逆序:
0x00000001 – 44
0x00000002 – 33
0x00000003 – 22
0x00000004 – 11
其实,大端序就是按照人类的思维方式进行存储数据,地址的编排是符合直觉的,只是我们指定字节数据左髙右低,所以才有了大端序是高字节放在低地址这样拗口的说
实际使用中记住顺序存储是大端序即可
什么是网络字节序?
TCP/IP首部中所有的二进制整数在网络中传输时都要求以大端序进行传输,所以大端序别称网络字节序,二者是同一个东西。所有其他形式存储的二进制整数的机器在传输数据前需要将首部转化成网络字节序