リトルエンディアン
読み:リトルエンディアン
外語:Little-endian
数値をメモリーに書き込む際の順番(バイトオーダー)規約の一つ。
概要
下位→上位に数値を格納する。Intel系プロセッサー(x86)やDECのAlphaがこれを採用している。
例えば、0x12345678をメモリーに格納した場合、8ビット毎に区切り、逆順に0x78 0x56 0x34 0x12の順でストアされる。
この方式の利点は、同じアドレスにアクセスしたなら、バイト単位で読み出してもワード単位で読み出しても、その下位バイトは常に同一である所にある。リトルエンディアン方式は一見偏屈な仕様に思えるが、実際は深い意味がある。
リトルエンディアン
まず、次のメモリー内容であるとする。
アドレス | 0000 | 0001 | 0002 | 0003 |
データ | 0x78 | 0x56 | 0x34 | 0x12 |
この時にアドレス0000をreadした場合、次のようになる。
アクセスサイズ | レジスターの内容 |
1 BYTE | 0x00000078 |
2 BYTE | 0x00005678 |
4 BYTE | 0x12345678 |
再検索