数据大端和小端存储在数据传输,内存访问中使用到,经常混淆记不清,现在又遇到了这个概念,仔细琢磨了下有了点自己的理解,写下来,希望对大家也又帮助:
- 大端小端的理解
大和小的理解:大小这边理解是存储地址的大小,地址总是从低地址到高地址增加,现假设地址从0x00开始到0xff,那么显然大地址就是地址数值较大的,小地址就是地址数值较小的;
端的理解:端英文endian是结束的意思,按照正常的理解数据的左边开始的是高位是头是开始右边是低位是结束
那么就有了大端是大地址结束,小端就是小地址结束; - 举个例子:
数据:0x12345678 这4个字节,左边是高字节开始右边是低字节结束所以端是0x78
地址:地址假设从0开始存储四个字节是四个地址到0x03,将地址从小到大排列如下所示