底辺過ぎてちょっとビビる

26歳からIT業界にいるエンジニアが、まったく成長できてないことを確認するブログ。備忘録的に使いたいとも考えています。

【用語】リトルエンディアンとビッグエンディアンについて

普段開発をしていても、あまり意識することはないのだけど、たまーに耳にすると「なんだっけ?」となる言葉が幾つかある。

気になったので、勉強し直すけどすぐに忘れちゃう。

トルエンディアンとビッグエンディアンもその内の一つ・・・。

 

 

■リトルエンディアンとビッグエンディアン
語源・・・ガリバー旅行記に出てくる「卵の食べ方」で
細い方(Little End)から食べるのか太い方(Big End)から食べるのかどらちから?というのが語源らしい。
要はどっちが先なの?ということ。

コンピュータの話になると、規格の違いの話になる。
CPUでは8086系と68000系の2系があって、メモリの格納の仕方がそれぞれ違う。
現在の主流は8086系CPUで、1byteずつ下から順にデータを並び替えて取り扱う方法が取られていて
この方法を「リトルエンディアン」という。

68000系の扱うデータの並びが人が理解しやすいように
上から順に並んだ取り扱いをする方を「ビッグエンディアン」という。

具体的に書くと、
0x123456というデータを取り扱うときに、
トルエンディアンは56 34 12 00として扱い
ビッグエンディアンは00 12 34 56として扱う。


※byteで取り扱うときに、6桁の「123456」は8桁になるように数値先頭部に00が付加されて00123456となる。