2012-01-14 9 views
4

私はチュートリアルからこれを抽出:エンドエンティティと混同しています:ビットまたはバイト?

リトルエンディアン順序は、私たちは、この文書で使用されるものであり、記載のない限り、特にあなたはリトルエンディアン順序は任意のファイルで使用されていることを前提とすべきです。代替はビッグエンディアンの注文です。それでは例を見てみましょう。次のストリームまたは8ビットを取得する10001110これまでドキュメントをフォローしていた場合、すぐにこの8ビットの値を1x2^7 + 0x2^6 + ... + 1x2^1 + 0x2^0として計算します= 142リトルエンディアンの注文例です。しかし、私たちは反対方向1×2^0 + 0x2の中で数を読む必要がビッグエンディアン順序で^ 1 + ... + 1×2^6 + 0x2の^ = 113 7

は、この正しいですか?

私は、エンディアンがBYTES(ビットではない)が読み取られる順序と関係していると思っていました。

答えて

5

はい、メモリ/ストレージのコンテキストでは、エンディアンは実際にはバイト(通常)を指します。例えば、それを言うとはどういう意味でしょうか。 ビットが「最初に来る」?

ビットエンディアンは、シリアルバスを介してデータを送信する場合など、状況によっては適切です。

+0

グラフィックスメモリでは、ビットエンディアンを考慮することも有効です。同じ空間に1,8,16、または32ビットのピクセルを格納したい場合は、すべてのメモリを0から始まる一連のビットと考えるのが最も簡単です。したがって、最初のバイト(8ビットモード)はaビット0から7のシーケンス。左は0です。 (どちらのビットが最も重要かは別の選択肢です)。 –

1

あなたは正しいです - あなたがそこにゴミ、IMHOを持っているその引用。

1

ビットを並べ替えることは意味がありません。ブートするのはかなり混乱します。 CPUはシムルビットを読み込まず、一度にバイトまたはバイトの組み合わせを読み込むので、それは重要な順序です。

複数のバイトで構成された数値を格納する場合、上位バイトをメモリで最も小さくするか、または右から左に、メモリ内で下位バイトを最下位にして左から右に格納できます。

関連する問題