ビッグエンディアン
読み:ビッグエンディアン
外語:Big-endian
数値をメモリーに書き込む際の順番(バイトオーダー)規約の一つ。
概要
上位→下位と数値を格納する。Motorola系プロセッサー(MC680x0)や、ルネサスのSuperH、SunのSPARCなどがこれを採用している。
例えば、0x12345678をメモリーに格納する場合、8ビット毎に区切り、0x12 0x34 0x56 0x78の順にストアされる。人間がみて分かりやすいという利点があるが、同じアドレスを読んだ場合でもアクセスサイズにより最下位バイトの内容が一致しないという問題もある。
これに加えてMotorola 68000のように2バイト以上の単位で奇数アドレスにアクセスできないという制限が加わると、バイト単位でのデータを扱うのが瀕雑になるという問題もある。
ビッグエンディアン
まず、次のメモリー内容であるとする。
アドレス | 0000 | 0001 | 0002 | 0003 |
データ | 0x12 | 0x34 | 0x56 | 0x78 |
この時にアドレス0000をreadした場合、次のようになる。
アクセスサイズ | レジスターの内容 |
1 BYTE | 0x00000012 |
2 BYTE | 0x00001234 |
4 BYTE | 0x12345678 |
再検索