内存字节序

内存字节序

一. 字节顺序:数据在内存中的存放顺序。分为小端(Little endian)和大端字节顺序(Big endian)。

             数据在内存中是一个字节一个字节来存储的,因为一个内存单元的大小就为一个字节。

1. 小端顺序:低字节数据存放在内存低地址处,高字节数据存放在内存高地址处。

2. 大端顺序:高字节数据存放在低地址处,低字节数据存放在高地址处。

INT型数据0x12345678在内存中的存放顺序为:

小端顺序为:78 56 34 12

大端顺序为:12 34 56 78

二.主机字节序

不同的CUP以及不同的操作系统上的字节序不一样,这个就叫主机字节序。

处理器      操作系统      字节排序
Alpha         
全部        Little endian
HP-PA         NT         Little endian
HP-PA        UNIX        Big endian
Intelx86       
全部         Little endian <-----x86系统全是小端字节序系统

Motorola680x
全部         Big endian
MIPS          NT          Little endian
MIPS         UNIX         Big endian
PowerPC       NT          Little endian
PowerPC      
NT         Big endian   <-----PPC系统是大端字节序系统

RS/6000       UNIX         Big endian
SPARC        UNIX         Big endian
IXP1200 ARM
核心  全部     Little endian

 

三.网络字节序

网络字节顺序是TCP/IP中规定好的一种数据表示格式,它与具体的CPU类型、操作系统等无关,从而可以保证数据在不同主机之间传输时能够被正确解释。网络字节顺序采用big endian排序方式。

你可能感兴趣的:(内存字节序)