大小端模式模式实测

        大端模式,是指在内存的低地址中保存数据的高字节;而小端模式,是指在内存的低地址中保存数据的低字节。

分析可知1:既然数据分高字节、低字节,说明只有数据格式是2字节以上的,才有大小端模式,比如word、dword等;而byte类型数据是不分大小端模式的。

分析可知2:有分析1可知,byte类型数据是不分大小端模式,则数据格式都是统一的。即,地址由小向大增加,而数据从高位往低位放;这和我们的阅读习惯一致。这对于大小端都是统一的格式。

         这些有点类似CAN报文:只要是跨了2个即以上字节数的CAN报文,都要考虑是Intel格式,还是Motorola格式,此时Intel格式就像小端;Motorola格式,就像大端;

Intel格式:

大小端模式模式实测_第1张图片

 

Motorola MSB格式:

大小端模式模式实测_第2张图片

 

Motorola LSB格式:

大小端模式模式实测_第3张图片

举例

下面以unsigned int value = 0x12345678为例,分别看看在两种字节序下其存储情况,我们可以用unsigned char buf[4]来表示value

Big-Endian: 低地址存放高字节,如下:

低地址

---------------

buf[0] (0x12) -- 高字节

buf[1] (0x34)

buf[2] (0x56)

buf[3] (0x78) -- 低字节

---------------

高地址

 

Little-Endian: 低地址存放低位,如下:

低地址

--------------

buf[0] (0x78) -- 低字节

buf[1] (0x56)

buf[2] (0x34)

buf[3] (0x12) -- 高字节

---------------

高地址

 

 

如有侵权请联系,谢谢

你可能感兴趣的:(编程基础知识)