用語備忘録的な何か: バイトオーダー
開発中にリトルエンディアン、ビックエンディアンを意識すべき場面が増えたのでまとめる
- そもそもバイトオーダーって…
- なんでこんなの考える必要あるの?
現在のメモリアクセスの主流:バイトアドレッシング方式(1Byte毎にアドレスを付ける方式)
プログラムの数値演算単位:レジスタ長が単位(32bitプロセッサの場合、1度に32bitの数値を扱う)
⇒「32bitは4Byteだが、どの順番でメモリに書くの?」
となる。この際、リトル、ビックエンディアンを考えるのだ
正直上のURLリンクにある画像を見るのが一番わかりやすい
リトルエンディアン
最下位ビットの属するバイト列を低位のバイト列に格納する。バイナリダンププログラムで読むと「順序が逆」
ビックエンディアン
最上位ビットの属するバイト列を低位のバイトに格納する。バイナリダンププログラムで読むと「そのまま読める」
リトルエンディアン、ビックエンディアンの採用によって処理速度に違いが出るらしいですが、これは今回割愛