与endianess混淆:位或字节?

时间:2012-01-14 02:09:38

标签: terminology endianness cpu-architecture

我从教程中提取了这个:

  

Little-Endian订单是我们将在本文档中使用的订单,除非另有说明,否则您应该假设Little-Endian订单用于任何文件。替代方案是Big-Endian订购。让我们看一个例子。采取以下流或8位10001110如果您到目前为止一直关注该文档,您将快速计算此8位数的值为 1x2 ^ 7 + 0x2 ^ 6 + ... + 1x2 ^ 1 + 0x2 ^ 0 = 142 这是Little-Endian排序的一个例子。但是,在Big-Endian排序中,我们需要读取相反方向的数字 1x2 ^ 0 + 0x2 ^ 1 + ... + 1x2 ^ 6 + 0x2 ^ 7 = 113

这是对的吗?

我曾经认为endianess与读取BYTES(而不是位)的顺序有关。

3 个答案:

答案 0 :(得分:5)

是的,在内存/存储的上下文中,字节顺序确实是指字节排序(通常)。说这个是什么意思,例如最不重要的“首先出现”?

比特字节序在某些情况下是相关的,例如通过串行总线发送数据时。

答案 1 :(得分:1)

你是对的 - 你有的报价是垃圾,恕我直言。

答案 2 :(得分:1)

重新排序位是没有意义的,启动会很困惑。 CPU一次不读取simgle位,它们读取字节或字节组合,因此这是重要的排序。

当它们存储由多个字节组成的数字时,它们可以从左到右存储它,使高位字节在内存中最低或从右到左,内存中的低位字节最低。 / p>