字节序

字节序是一个处理器架构特性, 用于指示像整数这样大数字类型在计算机内部的字节顺序.

可以分为大端字节序和小端字节序.

大端字节序 : 高位字节在前, 低位字节在后.  这是人类的习惯.

小端字节序 : 低位字节在前, 高位字节在后. 这是计算机的处理方式.

比如有16进制数 0x0011

大端字节序存储为 :  0x00 0x11

小端字节序存储为 :  0x11 0x00

一般Linux采用小端字节序, 在同一机器进程之间通信一般不用考虑字节序, 但是在网络之间通信就需要进行转换了. TCP/IP协议规定了字节序为大端字节序, 因此对于TCP/IP的应用程序, 可以使用以下几个函数进程转换 :

#include<arpa/inet.h>

uint32_t htonl(uint32_t  hostint32);

uint32_t htons(uint16_t  hostint16);

uint32_t ntohl(uint32_t  hostint32);

uint32_t ntohs(uint16_t  hostint16);
原文地址:https://www.cnblogs.com/tanxing/p/6835260.html