本文主要是介绍大端机、小端机,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
什么是大端,什么是小端?
大小端指的是数据在计算机中的一种存储方式;
例如:对于十六进制数4E25,需要用两个字节存储,高位字节是4E,低位字节是25;高字节在前,就是"大头方式"(Big endian),低字节在前就是"小头方式"(Little endian);
即在计算机中存储的时候:
- 若数据的高位字节 4E 存放在低地址内,数据的低位字节 25 存放在高地址内,这就是就是Big endian(大端)存储方式,这样的机器叫作大端机;
而电脑读取内存数据时,是从低位地址到高位地址进行读取的(从左到右,这和我们的阅读习惯一致),这样就很容易输出该数据; - 若数据的高位字节 4E 存放在高地址内,数据的低位字节 25 存放在低地址内,这就是Little endian(小端)存储方式,这样的机器叫作小端机;
例如:一个整型是4个字节,如:0x1a2b3c4d;。
- 在大端机器中从低地址到高地址的存放方式为:0x1a,0x2b,0x3c,0x4d;
- 在小端机器中从低地址到高地址的存放方式为:0x4d,0x3c,0x2b,0x1a;
大小端名称的来历:
这两个古怪的名称来自英国作家斯威夫特的《格列佛游记》。在该书中,小人国里爆发了内战,战争起因是人们争论,吃鸡蛋时究竟是从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开。为了这件事情,前后爆发了六次战争,一个皇帝送了命,另一个皇帝丢了王位。
这篇关于大端机、小端机的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!