「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

エンディアン

pointこの用語のポイント

pointデータの並び順だよ

point最初から並べる「ビッグエンディアン」と最後から並べる「リトルエンディアン」があるよ

スポンサーリンク

簡単に書くよ

エンディアン(英:endian)とは

2バイト以上のデータをメモリ上に展開したり、どこかに送る際の「バイト単位で見たときのデータの並び順」のこと
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「ビット」と「バイト」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

ビットは、コンピュータさんの世界における「0か1が入る箱」です。

エンディアン

あるいは、この「0か1が入る箱」の数を表す単位です。
例えば「4ビット」であれば「0か1が入る箱が4つあるよ」の意味になります。

エンディアン2

バイトは「ビットが8つ集まったもの」です。
0か1が入る箱(ビット)が8つ入るくらいの大きな箱がバイトだと思ってください。

エンディアン3

あるいは、このデカい箱の数を表す単位がバイトです。
「2バイト」であれば「ビットが8つ入る大きさの箱が2つあるよ」の意味になります。

エンディアン4

……というのが基本ですけどね。
こだわり派の人がいるかもしれないので補足しておきます。

実は必ずしも1バイトが8ビットとは限りません。
環境によっては「1バイト=7ビット」のときもあれば「1バイト=9ビット」の場合も あります。

ただし、一般的には

1バイト=8ビット

です。
それ以外は例外と捉えて、あまり気にしないでください。

以上を踏まえて

データをバイト単位で見たときの「最初からデータを並べるか」「最後からデータを並べるか」

が「エンディアン」です。

例えば、そうですね。

4バイトのデータ

00000001 00000010 00000100 00001000

があったとします。

このデータを(例えばメモリ上に)置く場合、普通に並べたら

1つめ:00000001(1バイト目)
2つめ:00000010(2バイト目)
3つめ:00000100(3バイト目)
4つめ:00001000(4バイト目)


になりますよね?

エンディアン5

ところが、世の中には逆から

1つめ:00001000(4バイト目)
2つめ:00000100(3バイト目)
3つめ:00000010(2バイト目)
4つめ:00000001(1バイト目)


の順番で並べて置くやり方もあるのです。

エンディアン6

この「最初から並べるの?最後から並べるの?」が「エンディアン」です。

エンディアン7

データを送るときも同じですね。

1回目に送るデータ:00000001(1バイト目)
2回目に送るデータ:00000010(2バイト目)
3回目に送るデータ:00000100(3バイト目)
4回目に送るデータ:00001000(4バイト目)


のように最初から順番に送るやり方もあれば

1回目に送るデータ:00001000(4バイト目)
2回目に送るデータ:00000100(3バイト目)
3回目に送るデータ:00000010(2バイト目)
4回目に送るデータ:00000001(1バイト目)


のように最後から送るやり方もあります。

そのときの「最初から並べるの?最後から並べるの?」が「エンディアン」です。

なお「1バイト目→2バイト目→3バイト目」のように先頭から並べる並べ方を「ビッグエンディアン」と言います。

エンディアン8

「3バイト目→2バイト目→1バイト目」のように後ろから並べる並べ方は「リトルエンディアン」です。

エンディアン9

気が向いたら、全部まとめて覚えてあげてください。

エンディアン:データを並べる順番
ビッグエンディアン:最初のやつから並べるやり方
リトルエンディアン:最後のやつから並べるやり方


です。


image piyo2

一言でまとめるよ

まぁ「エンディアン」って単語が出てきたら「データをバイト単位で見たときの並べ方なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像051
書籍画像015


書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
サイバー忍者入門 忍者・スパイ・軍隊・ハッカーに学ぶ フルスタック・ハッキング
あたえる人があたえられる