网络字节序采用大端序的原因是什么?

5

似乎大多数现代处理器(过去20年)都使用小端字节序,或者至少偏爱它(如果是双字节序的话)。那么,他们为什么要将大端字节序作为所有网络协议的通用顺序呢?除了对大端字节序处理器更易于使用外,是否真的有任何实际优势呢?


8
你的最初前提是错误的——仅仅因为x86家族是小端序并不意味着“大多数现代处理器”都是小端序。 - Paul R
双向字节序是指对小端序的偏好吗?还是指对大端序的偏好,同时带有兼容模式来应对“全球都是 {VAX,i386}”综合征? - Fred Foo
1
英特尔芯片在它们首次发布时是一种可恶的存在,现在仍然是,但我们已经习惯了 :-) 存在许多更好的体系结构,具有更一致的寻址模式和“正确”的字节顺序,例如 6800 系列。 - paxdiablo
7
阅读:关于圣战和对和平的呼吁 - mwolfetech
@lars 嗯,例如,参考http://electronics.stackexchange.com/questions/11535/how-to-choose-between-little-endian-or-big-endian-for-the-processor-settings,6502处理器在小端模式下更快。我想知道其他架构是否也是如此。@pax 好吧,PDP-x架构比x86有更好的汇编代码:P。 - Earlz
1个回答

6
大端序可能是因为那个时代的大多数计算机使用它而被选择的。
他们如何预测80x86系列的流行以及其对小端序的使用,这么多年后呢?
根据维基百科
经常提到支持大端序的一个论点是,它与自然语言中常用的排序一致。口头语言有各种各样的数字组织方式:十进制数字92在英语中被称为“ninety-two”,在德语和荷兰语中被称为“two and ninety”,在法语中被称为“four-twenty-twelve”,在丹麦语中也有类似的系统(“two-and-four-and-a-half-times-twenty”)。但是,数字几乎普遍地用印度-阿拉伯数字系统书写,在从左到右书写的语言中最重要的数字首先书写,在从右到左书写的语言中最后书写。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接