数据格式的大小端模式
数据在内存中的存储方式
大端模式
Big-Endian: 低地址存放高位(高字节)
数据的高字节保存在内存的低地址中,相对数据的低字节保存在高地址中。数据高低字节从`右向左`为 :`高----低`
举例子:在`大端模式`下按照`地址顺序`存以下数据:0xaabbccdd,该组数据中高位顺序因为是十六进制的数据也可以称为高字节顺序为:0xaa,0xbb,0xcc,0xdd。`大端模式`也就是将高字节的数据存放在低地址中,当我们从一段内存中`按顺序`读取数据时,按照`大端模式`我们就需要先从`低地址`开始读出数据:0xaa,0xbb,0xcc,0xdd这几个数据。
小端模式
BigLittle-Endian: 低地址存放低位(低字节)
数据的高字节保存在内存的低地址中,相对数据的低字节保存在高地址中。数据高低字节从`右向左`为 :`高----低`
举例子:在`小端模式`下按照 `地址顺序`存以下数据:0xaabbccdd,该组数据中高位顺序因为是十六进制的数据也可以称为高字节顺序为:0xaa,0xbb,0xcc,0xdd。`大端模式`也就是将高字节的数据存放在低地址中,当我们从一段内存中`按顺序`读取数据时,按照小端模式我们就需要先从`高地址`开始读出数据:0xaa,0xbb,0xcc,0xdd这几个数据。
大小端的作用
程序在不同平台下移植可能会因为不同的数据存取顺序导致出现问题,比如常见的大端平台:51系列的单片机一般都是使用的大端模式,其他常见的单片机一般使用小端模式,如果这两者之间移植程序需要注意数据大小端这点!