この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "エンディアン"
この記事には独自研究が含まれているおそれがあります。問題箇所を検証し出典を追加して、記事の改善にご協力ください。議論はノートを参照してください。(2016年7月)
.mw-parser-output .hatnote{margin:0.5em 0;padding:3px 2em;background-color:transparent;border-bottom:1px solid #a2a9b1;font-size:90%}
日付の表記方法については「#日付表現のエンディアン」をご覧ください。
エンディアン(英: endianness)あるいはバイトオーダ(byte order)は、コンピュータの記憶装置に複数バイト(多バイト)からなる数値を記憶する際の、各バイトの順序についての規則[1][2]。また、通信で複数バイトを扱う際の、送る順序についての規則。[注釈 1][3] コンピュータで扱う数値(やデータ)は、1バイトで表現されるもの以外に、2バイト、4バイト、8バイトなど複数バイト(多バイト)で表現されるものがある。一方、記憶装置は汎用化され、最小の1バイト単位でも扱えるように、1バイト毎に番地(アドレス)が連続して割り振られている。すると、多バイトの数値やデータの各バイトをどのような順序で記憶装置に格納するかについての規則は、いくつか種類(選択肢)があることになる。 まず主につかわれている種類を解説すると、特に、数値の1番小さい桁1バイト分を、1番大きいアドレスの記憶装置に配置し順に並べる規則はビッグエンディアンという。それと対称的に、数値の1番小さい桁1バイト分を、1番小さいアドレスの記憶装置に配置し順に並べる規則をリトルエンディアンという。[1][2] ビッグエンディアンを採用しているコンピュータやCPUとしては、IBMのメインフレーム(および互換機)、モトローラのMC68000(および後継)、サン・マイクロシステムズのSPARCなどがある。 リトルエンディアンを採用しているものとしては、DECのVAX、インテルのx86、Appleシリコン[注釈 2]、などがある。 エンディアンを切り替えられるバイエンディアン (bi-endian) のプロセッサとしては、PowerPCなどがある。なおARMアーキテクチャのコアは両モードをサポートするが、デフォルトの設定としてはリトルエンディアンとしており、ARM向けLinuxディストリビューションのほとんどはリトルエンディアンのみにしようと試みている[4]。
概要
主に使われるバイトオーダビッグエンディアン(右)とリトルエンディアン(左)