关于字节顺序endian

关于字节顺序,维基百科给出了这样的解释

字节顺序,又称端序或尾序(英语:Endianness)。在计算机科学领域中,是跨越多字节的程序对象的存储规则。在存储地址内的排列则有两个通用规则。一个多位的整数将按照其存储地址的最低或最高字节排列。如果最低有效位在最高有效位的前面,则称小端序;反之则称大端序。
关于这个问题,最先看到的地方是在《java nio》中关于字节缓存区介绍
首先应该提出的问题是为什么有两种字节序的存在?这个问题的简要回答是人类和计算机对于字节顺序的接受爱好不同。
大端(big-endian)是人类处理数字的方式,而小端(little-endian)对于计算机来说处理起来更有效率(在大多数网络协议和文件存储格式中仍然是大端的,因为格式协议是为人类理解而设计的)
在人类理解中的一个数字比如0x9426以大端的形式存储还是0x94之后接着0x26,但是以小端形式存储应该是0x94之前接着0x26而不是所有的字节都倒序


参考
Errata Security: How to teach endian

猜你喜欢

转载自www.cnblogs.com/majianming/p/9791777.html