2012-01-14 41 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位,它們一次讀取字節或字節組合,所以這是非常重要的順序。

當它們存儲由多個字節組成的數字時,它們可以從左到右存儲它,使內存中的高位字節最低,或者從右到左,而低位字節在存儲器中最低。