Mar*_*och 10 arrays endianness
我对字节流进行了大量工作,因此我理解这个概念 - 某些字节表示比其他字节更高的数值。
当阅读维基上的定义时,我变得非常困惑。
当我看到“Big-endian”或 BIG + END 一词时,我期望最后/结束字节是最大的。不用动脑子吧?
对于那些完全不知道字节序的人来说,示例是:存储在索引 0 和索引 1 处的字节 0x01 0x00 将等于 1,最后一个字节有效,并且等于 256,第一个字节有效。(一个字节给出 2^8 个选项,2^8 = 256)
显然,如果最后一个字节是最重要的,我会称之为“大端字节序”。
但不,阅读维基百科的定义是完全相反的:最后一个字节的意义被称为小端,第一个字节的意义被称为大端。
是什么赋予了?
嗯,从历史上看,这些术语来自《格列佛游记》(是的,每个人都有维基百科),它们的意思是用来打破煮鸡蛋的末端。由于该端可能指向下方,因此它可以与较低的地址相关联。此外,人们使用该端来“消费”或“处理”鸡蛋,并且处理数据通常从较低地址开始。也就是说,人们可以争辩说,人们不必知道一个术语的起源就可以正确解释它。但无论如何,几乎任何主题都存在“两种类型的人”,因此对一组人来说显而易见的事情可能对另一组人来说是违反直觉的。