リトルエンディアン

読み:リトルエンディアン
外語:Little-endian , pez/fin/a エスペラント
品詞:名詞,@情報

数値をメモリに書き込む際の順番(バイトオーダー)規約の一つ。

下位→上位に数値を格納する。Intelプロセッサ(i80x86)やDECのAlphaがこれを採用している。

例えば、0x12345678をメモリに格納した場合、8ビット毎に区切り、逆順に0x78 0x56 0x34 0x12の順でストアされる。

この方式の利点は、同じアドレスにアクセスしたなら、バイト単位で読み出してもワード単位で読み出しても、その下位バイトは常に同一である所にある。リトルエンディアン方式は一見偏屈な仕様に思えるが、実際は深い意味がある。

まず、次のメモリ内容であるとする。

アドレス0000000100020003
データ0x780x560x340x12

この時にアドレス0000をreadした場合、次のようになる。

アクセスサイズレジスタの内容
1 BYTE0x00000078
2 BYTE0x00005678
4 BYTE0x12345678