嵌入式-计算机原理

大端小端

  • 小端符合人类逻辑

大端模式

  • 是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中
  • 地址由小向大增加,而数据从高位往低位放;

小端模式

  • 是指数据的高字节保存在内存的高地址中, 而数据的低字节保存在内存的低地址中,
  • stm32是小端模式,如一个32位无符号数0x12345678,
    • 从低地址到高地址依次储存 78h 56h 34h 12h。
      
  • 在这里插入图片描述
1
2
3
4
5
6
7
8
9
10
11
12
//如果字节序为big-endian,返回true;  
//反之为 little-endian,返回false

bool IsBig_Endian()
{
unsigned short test = 0x1234;
if(*( (unsigned char*) &test ) == 0x12)
return TRUE;
else
return FALSE;
}//IsBig_Endian()

ref

大端与小端存储模式详解及使用_小端存储模式示意图-CSDN博客

大小端序转换 - on_the_road - 博客园

指针

指针指向的是变量的起始地址,不是最低位。

在C/C++中,变量的起始地址通常是存储单元中的最低地址。对于unsigned short类型的变量test,这个指针将指向其最低的字节