Advertisement

16bit数据的高低位颠倒方式

阅读量:

文章目录

    • 1. 大小端模式
    • 2. 数据格式
      • 方式1:htons函数
      • 方法2:移位计算

1. 大小端模式

大端模式采用的方式是将高位字节存储在内存的低地址位置,并将低位字节则存放在内存的高地址部分。这种存储模式类似于按字符顺序依次处理内存中的数据块,并且这种组织方式与人们的阅读习惯相吻合。

在小端模式中:内存高地址区域存储数据的高位部分,并将内存地址与数据位权之间的合理搭配作为核心特点。内存高位部分对应较高的地址偏移量,低位部分对应较低的偏移量。

为什么会有大小端模式之分呢?


这正是因为计算机系统的底层架构决定了数据的基本单位是字节的缘故。每一个地址单元都直接对应一个字节,并且每个字节由8位组成。然而,在C语言中除了常见的8位字符(char)外,还有16位整数(short)、32位整数(long)通常支持不同的扩展方式(视具体的编译器而定)。对于处理具有超过8位宽度的数据的情况来说,在大多数现代处理器架构中都是可行的。例如像16位或32位这样的处理器设计就需要特别考虑如何组织多个连续的内存位置来表示同一个变量。由于寄存器宽度超过了单个字节的空间限制,在这种情况下必然存在一个问题:如何组织多个连续的内存位置来表示同一个变量。因此导致了大端存储模式和小端存储模式的不同

全部评论 (0)

还没有任何评论哟~