数据大端小端的介绍和转换

1、介绍

概念: 对于一个由2个字节组成的16位整数,在内存中存储这两个字节有两种方法:一种是将低序字节存储在起始地址,这称为小端(little-endian)字节序;另一种方法是将高序字节存储在起始地址,这称为大端(big-endian)字节序。

如果把一个数看成一个字符串,比如11223344看成"11223344",末尾是个'\0','11'到'44'个占用一个存储单元,那么它的尾端很显然是44,前面的高还是低就表示尾端放在高地址还是低地址,它在内存中的放法非常直观

数据大端小端的介绍和转换

2、转换

#define SWAP16(x)   (((x & 0xff00) >> 8) | ((x & 0xff) << 8))   //小端转大端    stm32是小端模式