在网上看到一个讲述大端和小端区别的简短视频,讲解的很清晰明了,在此做一个简短的整理和记录
高数据位与低数据位
int a = 46178
0000 0000 0000 0000 1011 0100 0110 0010 《=====二进制
左侧是数据的高位,向右依次降低。
重点在理解这个高低
高地址位与低地址位
——————————————————
| | | | |
——————————————————
0x10 0x11 0x12 0x13
在内存中,地址是呈现由低到高的顺序
上图是一个四字节内存,a要在这段内存中,内存地址顺序递增,由低地址位 递增 到高地址位
数据的存储方式
大端存储:数据的低数据位(字节为单位),放进内存的高地址位
———————————————————————
| 0000 0000 | 0000 0000 | 1011 0100 | 0100 0010 |
———————————————————————
0x10 0x11 0x12 0x13
误区:数据不是原模原样存进去的,是按二进制形式存储的
比如:int a = 1234;不是1占一个字节,2占一个字节,3占一个字节,4占一个字节
小端存储:数据的地数据位(字节为单位),放进内存的低地址位
———————————————————————
| 0100 0010 | 1011 0100 | 0000 0000 | 0000 0000 |
———————————————————————
0x10 0x11 0x12 0x13