大端序和小端序,最高有效位和最低有效位
Posted 清水寺扫地僧
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大端序和小端序,最高有效位和最低有效位相关的知识,希望对你有一定的参考价值。
小端序(Small-Endian):低地址存放低字节,高地址存放高字节;
大端序(Big-Endian):高地址存放低字节,低地址存放高字节;
计算机业界,端(Endian)表示数据在存储器中的存放顺序。大端与小端是两种数据的存储方式。大端方式将高位存放在低地址,小端方式将高位存放在高地址。(比如将16位数0x1234存放在地址0x00,0x01两个连续地址中时:大端方式0x00中存放0x12,而0x01中存放0x34;小端方式0x00中存放0x34,而x01中存放0x12)
网络字节序(network byte order) (在TCP/IP协议族)是大端,而 主机字节序(host byte order) 大端和小端序均有。Unix 提供了下面这样的函数在网络和主机字节顺序间实现转换:
#include <arpa/inet.h>
uint32_t htonl(uint32_t hostlong);
uint16_t htons(uint16_t hostshort);
//返回:按照网络字节顺序的值;
uint32_t ntohl(uint32_t netlong);
uint16_t ntohs(uint16_t netshort);
//返回:按照主机字节顺序的值;
最高有效位(Most Significant Bit):可简记为MSB。在二进制数中,MSB是最高加权位。与十进制数字中最左边的一位类似。通常,MSB位于二进制数的最左侧;
最低有效位(Least Significant Bit):可简记为LSB。通常,LSB位于二进制数的最右侧;
最高有效位(Most Significant Bit)和最低有效位(Least Significant Bit)是以 b i t bit bit 为单位,而大端序(Big-Endian)和小端序(Small-Endian)是以 数据类型/字节 为单位。
以上是关于大端序和小端序,最高有效位和最低有效位的主要内容,如果未能解决你的问题,请参考以下文章