大端序和小端序

1、概念

字节序,又称端序,英文名称Endianness。字节序是指存放多字节(byte)数据的顺序。多用于整数在内存中的存放方式和网络传输的传输顺序,以及在蓝牙通讯中,表示数据传输字节长度。

2、原因

大小端序跟硬件的体系结构有关,跟操作系统无关。

3、区别

大端字节序:高字节存于内存低地址,低字节存于内存高地址

小端字节序:高字节存于内存高地址,低字节存于内存低地址

例如:

实例一:整数在内存中的存放方式:

一个long型数据0x12345678

大端字节序:

内存低地址-》0x12

                          0x34

                         0x56

内存高地址-》0x78

小端字节序:

内存低地址-》0x78

                        0x56

                        0x34

内存高地址-》0x12

实例二:网络或蓝牙传输中的传输顺序:

传输长度为349的数据,转化为十六进制为0x015d

大端字节序传输:0x015d

内存低地址(前)0x01(高字节)

内存高地址(后)0x5d(低字节)

小端字节序传输:0x5d01

内存低地址(前)0x5d(低字节)

内存高地址(后)0x01(高字节)

备注:大小端字节序,是以字节为基本单位的,仅可针对多字节的情况,单字节:

0xF8转化为二进制:1111 1000第0位为0,第7位为1.

你可能感兴趣的:(大端序和小端序)