2012-01-14 59 views
4

我这个提取从教程:与endianess混淆:位或字节?

little-endian顺序是,我们将使用本文档中的一个,并且除非另有说明具体情况,你应该假设little-endian顺序在任何文件中使用。替代方案是Big-Endian排序。我们来看一个例子。采取以下流或8位10001110如果您一直关注文档到目前为止,您可以快速计算此8位数的值为:1x2^7 + 0x2^6 + ... + 1x2^1 + 0x2^0 = 142这是Little-Endian排序的一个例子。然而,在大端排序,我们需要阅读相反的方向1×2^0 + 0X2数^ 1 + ... + 1×2^6 + 0×2^7 = 113

这是正确的吗?

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

回答

5

是的,在存储器/存储的上下文中,字节顺序确实指的是字节排序(通常)。这意味着什么,例如最不重要的“第一”?

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

+0

在图形存储器中,考虑位的字节顺序也很有用。如果要在同一空间中存储1,8,16或32位像素,最简单的方法是将所有内存视为从零开始的一系列位,因此第一个字节(8位模式下)为位0到7的序列,左边是0。 (哪一位最重要是一个单独的选择。) – 2012-02-19 03:14:47

1

你是对的 - 你那里的引用是垃圾,恕我直言。

1

对位进行重新排序没有任何意义,启动时会很困惑。 CPU不读取simgle位,它们一次读取字节或字节组合,所以这是非常重要的顺序。

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