基本情報技術者合格のための勉強法まとめブログ

情報系の学生にとってはもはや必需品  ”基本情報技術者” しかし、実務経験のない学生では午後試験の突破は難しいです。 そんなあなたの悩みを打ち消すヒントが詰まったブログです。

ビッグエンディアンとリトルエンディアンの違いとは

 

今回はビッグエンディアンとリトルエンディアンについて説明していきます。

 

 

 

 エンディアンとは

 ビッグエンディアンとリトルエンディアンの説明に入る前に、まずはエンディアンの説明からやりましょう。

 

そもそもエンディアンとは何でしょうか?

 

コンピュータはプログラムを動かすときに、データを1バイト(8ビット)単位で扱います。

 

この時に、1バイトを超えるデータを取り扱う場合に、どのようにしてメモリに配置していくか、という問題が発生しました。

 

そして生まれたのが、ビッグエンディアントルエンディアンと呼ばれる2つの方式です。

 

ビッグエンディアンとリトルエンディアン

 

ビッグエンディアンとリトルエンディアンの違いは、バイトの順序(バイトオーダ)を最上位からにするのか、それとも最下位からにするのか、です。 

 

ビッグエンディアン

 

ビッグエンディアンでは、バイトオーダの最上位からデータを取り扱います。

 

例えば、「1234」という16進数のデータがあったとしましょう。

 

この場合、最上位からデータを取り扱うので、メモリ上への配置は

 

「12」「34」

 

という風になります。

 

トルエンディアン方式を採用している代表的なものにはIBM社のメインフレームJAVA仮想マシン通信プロトコルではおなじみのTCP/IPがあります。

 

トルエンディアン

 

トルエンディアンではビッグエンディアンとは対照的に最下部のビットからデータを取り扱います。

 

先の例のように「1234」という16進数のデータで考えてみましょう。

 

この例の場合、メモリ上への配置は

 

「34」「12」

 

という順になります。

 

トルエンディアン方式を採用している有名なものにはIntel社製のx86系マイクロプロセッサがあります。