【其他】msb-lsb-intel-motorola大小端问题

MSB(Most Significant Bit)

最高有效位;

LSB(Least Significant Bit)

最低有效位

intel格式:低字节在前

Motorola格式:高字节在前

大端模式:数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,数据从高位往低位放;

小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。

在进行CAN总线通信设计或者测试过程中,经常看到CAN总线信号的编码格式有两种定义:Intel格式与Motorola格式。Motorola是大端字节序,Intel是小端字节序

为什么会有大端模式和小端模式呢

在计算机中,我们知道数据是按照字节存储的,如果数据都是单字节存储,就不涉及存储顺序的问题。但是,大多数情况下,数据不是按照单字节的方式存储的,例如会有类似于int,double等数据类型,这就涉及到存储顺序的问题了,于是也就出现了两种存储方:大端模式(big endian)和小端模式(little endian)。

我们常用的X86结构是小端模式,而KEIL C51则为大端模式。很多的ARM,DSP都为小端模式。

 

参考
1.msb和lsb

2.intel和motorola

3. 大端模式与小端模式的理解以及判断方法

posted on 2018-07-16 15:38  鹅要长大  阅读(3352)  评论(0编辑  收藏  举报

导航