通信网络
在计算中,最小的数字单位通常是字节(8位)。从技术上来说,最小的单位是位(1或0,真或假),但就表示我们通常所说的数字而言,字节是最小的构件。更大的数字是通过使用多个字节创建的,通信协议通常使用字节作为数据传输的最小单位。
比特重要性
如果我们考虑一个二进制数,例如“10000001”,那么二进制序列两端的位都有特殊的名称——最右边的位称为最低有效位(LSB),最左边的位称为最高有效位(MSB)。
最右边的位具有十进制值1,最左边的位具有十进制值128(给出该字节的总值为129)——左边的位具有最大(最多)值,右边的位具有最小(最少)值。
利用串行通信协议,数据可以以LSB优先或MSB优先的方式传输。UART和USB协议首先传输数据LSB而I2C和CAN协议以MSB优先的方式传输数据。SPI可以设置为使用任一选项,但通常使用MSB优先。
I2C通信示例MSB优先
字节序
当多个字节在内存中组合起来表示更大的数字(16位、32位、64位等)时,就有了如何在内存中排列这些多个字节的选择。
4个字节用来表示一个32位的数。
Little-Endian是目前最常用的选项。使用此选项,当用于表示数字的字节数增加时,内存中的字节值位置保持不变。
审核编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !