エンディアン(ビッグエンディアン・リトルエンディアン)とは?えんでぃあん
エンディアン(ビッグエンディアン・リトルエンディアン)とは、多バイトのデータを主記憶へ並べる向きの取決めで、最小番地に最上位バイトを置くのがビッグエンディアン、最下位バイトを置くのがリトルエンディアンである。同じ内容のメモリでもレジスタへ読み込んだ値が方式によって変わるので、方式の異なる機器のあいだでバイナリを交換するときは並べ替えが要る。
最終更新:2026-10-06
この語が出る過去問を解く →背景
1バイトずつ扱っていた時代には順序を決める必要が無かったが、16ビット・32ビットのレジスタへまとめて読み書きするようになると、どちらの端から詰めるかを決めざるを得なくなった。どちらにも実装上の利点があって統一されなかったため、方式の違う機器が混ざる前提で、通信路の側に順序を1つ決める必要が生じた。応用情報ではネットワークバイトオーダとの関係で問われる。
具体例
x86系とその後継はリトルエンディアン、TCP/IPのヘッダはビッグエンディアン(ネットワークバイトオーダ)と決められているため、PC上のプログラムはパケットを組み立てるたびにhtonl/ntohlのような関数で並べ替える。1000番地に00、1001番地に01が入っていれば、16ビットで読んだ値はビッグエンディアンで0001、リトルエンディアンで0100になる。
試験での引っ掛け
入れ替わるのはバイト単位であって、バイトの中のビットの並びではない。また入替えが問題になるのは多バイトのデータをまとめて読み書きするときだけで、1バイトずつ順に読む処理や文字列の並びはどちらの方式でも同じ結果になる、という点が問われる。
関連用語
出た過去問
出典・参考
公式シラバスの2 コンピュータシステム > 2. メモリ > (3) メモリシステムの構成と記憶階層に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。