エンディアン

エンディアンは、コンピューターサイエンスで、データの保存方法を表す用語です。具体的には、複数バイトのデータ型のどちら側に最上位の値が含まれるかを定義します。エンディアンには、ビッグエンディアンとリトルエンディアンの2種類があります。

ビッグエンディアン

ビッグエンディアンは、バイナリデータを保存する最も一般的な方法です。最上位(または最大)の値を最初に置き、その後に下位の値を続けます。たとえば、整数123をビッグエンディアンで表す場合、百の位の値(1)を最初に置き、次に十の位の値(2)、その後に一の位の値(3)を置きます。つまり、[123]となります。

リトルエンディアン

リトルエンディアンでは、最下位の値を最初に置き、その後に、より上位の値を順番に置きます。たとえば、数値123をリトルエンディアン表記にすると[321]になります。テキスト文字列"ABC"は、[CBA]として表されます。

エンディアン変換

ほとんどの場合、開発者がエンディアンを指定する必要はありません。コンパイラーが、特定のプラットフォームに適したデータ型を生成するためです。ただし、プログラムで、異なるエンディアンでデータを保存するファイル形式など、外部の入力を処理する必要がある場合があります。この場合、データをリトルエンディアンからビッグエンディアンへ、またはその逆に変換する必要があります。

エンディアンの変換は、データを単純に逆順にするだけではありません。逆順にする必要があるのは、ビットではなくバイトです。つまり、各バイト(8ビットのブロック)はそのままにして、バイトの順序を変更します。これは、データの16進数表現または二進法表現を使って説明できます。

たとえば、整数41,394は、ビッグエンディアン表記では次のように表されます。

16進数: A1B2
二進法: 1010000110110010

このデータをリトルエンディアンに変換する場合、データ全体を逆順にするのではなく、データ内の各バイトを逆順にします。16進数では、各バイトを2桁で表すため[A1][B2]となり、二進法では8桁で表すため[10100001][10110010]となります。

したがって、41,394のリトルエンディアン表現は次のようになります。

16進数: B2A1
二進法: 1011001010100001

NOTE: 一部のプロセッサは、変換を必要とせずにビッグエンディアンまたはリトルエンディアンのどちらでもデータを取得できます。これは、双方向エンディアンのデータアクセスと呼ばれます。

更新日 September 27, 2019 著者: Per C.

quiz知識をテストする

What standards organization manages Wi-Fi standards?

A
ISO
0%
B
IEEE
0%
C
IETF
0%
D
ICANN
0%
Correct! Incorrect!     View the IEEE definition.
More Quizzes →

Tech Terms コンピューター辞書

このページのエンディアンの定義は、TechTerms.comの著者が執筆したオリジナルの定義です。このページを参照または引用する場合は、定義の直下にある緑色の引用バーをご利用ください。

私たちの目標は、コンピューター用語をわかりやすく説明することです。すべての定義において正確さとわかりやすさを追求しています。フィードバックや新しい技術用語の提案がある場合は、お問い合わせください

Tech Terms ニュースレター

毎日または毎週のニュースレターで技術知識を高めましょう!今すぐ購読して、新しい用語やクイズをメールでお受け取りください。

無料のTechTermsニュースレターに登録する

メールの受信頻度を選択してください

各メールのリンクから、いつでも登録解除または頻度変更ができます。 ご質問はこちらからお問い合わせください。

注意:ニュースレターは英語で配信されます。