【漫谈C语言和嵌入式002】嵌入式中的大小端

        在计算机科学中,"端序"(Endianness)是指多字节数据类型(如整数或浮点数)在内存中的存储方式。主要分为两种:大端模式(Big-Endian)和小端模式(Little-Endian)。

大端模式 (Big-Endian)

       在大端模式中,多字节数据类型的最高有效字节(MSB)被存储在最低的内存地址上,而最低有效字节(LSB)则被存储在最高的内存地址上。这种存储方式与人类通常读数的方式一致,因此有时也被认为是“自然”的顺序。

小端模式 (Little-Endian)

        在小端模式中,情况正好相反,最低有效字节(LSB)被存储在最低的内存地址上,而最高有效字节(MSB)则被存储在最高的内存地址上。

举例说明

        以一个16位无符号整数 0x1234(十进制为4660)为例,来看一下在大端模式和小端模式下,它在内存中的布局:

大端模式

        假设我们有一个支持大端模式的嵌入式系统,比如一个基于 ARM 的微控制器配置为大端模式。当我们将 0x1234 写入到内存时,它的存储方式如下:

  • 内存地址:0x0000 | 0x0001
  • 存储值: 0x12 | 0x34

        高位字节 0x12 被存储在最低的地址 0x0000 上,而低位字节 0x34 则被存储在较高

你可能感兴趣的:(漫谈C语言和嵌入式,c语言,开发语言)