Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

エンディアン

エンディアン、もしくはバイトオーダーとは、バイトから数字の構成方法です。

メモリの個々の領域にはインデックス、もしくはアドレスが付与されています。1 バイトには 8 ビット、つまり 0x00 から 0xff までの数値が保存できます。つまりそれ以上大きい値を保存するなら、1 バイトよりも大きい領域を使わなければなりません。今ところ、もっともよく使われているバイトオーダーはリトルエンディアンです。これはインテルのプロセッサでしようされています。リトルエンディアンでは、ちょうどヨーロッパの日付の記法(例:31 December 2050)のように、下位バイトから上位バイトの順に数値を保存します。

対照的なものにビッグエンディアンがあります。ビッグエンディアンでは、ISO のように(例 2050-12-31)、上位バイトから下位バイトの順に保存します。インターネット標準ではビッグエンディアンでデータを転送することを定めている関係で、「ネットワークバイトオーダー」とも呼ばれます。この転送方式は、UNIX の標準的なソケット通信から始まり、Web の標準化されたバイナリデータ構造まで続いています。また 68000 や PowerPC のプロセッサを使用していた古い Mac もビッグエンディアンを利用していました。

例えば 0x12345678 (十進法では 305 419 896)は、それぞれ次のように表現されます

  • リトルエンディアン:  0x78 0x56 0x34 0x12
  • ビッグエンディアン: 0x12 0x34 0x56 0x78
  • ミックスドエンディアン(非常に稀)0x34 0x12 0x78 0x56

関連情報

ドキュメントのタグと貢献者

 このページの貢献者: chikoski
 最終更新者: chikoski,