1.大端模式:较高的有效字节存储在较低的存储器地址,较低的有效字节存储在较高的存储器地址。
2.小端模式:较低的有效字节存储在较低的存储器地址,较高的有效字节存储在较高的存储器地址。
3.举例分析
例如:0x12345678 存储在0x40000000中
低地址---------->高地址【大端模式】:
0X12|0X34|0X56|0X78|
这种存储方式类似于字符串存储方式,顺序存储。
低地址---------->高地址【小端模式】:
0X78|0X56|0X34|0X12|
这种存储方式类似于字节高低与存储地址高低对应。STM32采用的就是这种存储模式。常用的X86结构是小端模式,而KEIL C51则为大端模式。很多的ARM,DSP都为小端模式。
4.大端与小端的优势:
大端模式:符号位的判定固定为第一个字节,容易判断正负。
小端模式:强制转换数据不需要调整字节内容,1、2、4字节的存储方式一样
5.大小端在数组中的存储情况:
unsigned int value = 0x12345678为例
低地址存放高位----->大端模式
Buf[0] = 0x12
Buf[1] = 0x34
Buf[2] = 0x56
Buf[3] = 0x78
高地址存放高位------>小端模式
Buf[3] = 0x12
Buf[2] = 0x34
Buf[1] = 0x56
Buf[0] = 0x78