平成27年度 春期 応用情報技術者試験 午前 問21
テクノロジ/コンピュータ構成要素16進数ABCD1234をリトルエンディアンで4バイトのメモリに配置したものはどれか。ここで,0~+3はバイトアドレスのオフセット値である。 (注:本サイトでは原問題の表を文字表記に変換しています)
出典:平成27年度 春期 応用情報技術者試験 午前 問21
- ア0:12,+1:34,+2:AB,+3:CD
- イ0:34,+1:12,+2:CD,+3:AB
- ウ0:43,+1:21,+2:DC,+3:BA
- エ0:AB,+1:CD,+2:12,+3:34
正解:イ
解説
リトルエンディアンでは,多バイトの数値の下位バイトから順に,メモリの若いアドレスに格納します。16進数ABCD1234は上位から順にAB,CD,12,34の4バイトなので,最下位バイトの34をアドレス0,以降12,CD,ABの順にオフセット+1,+2,+3へ格納します。
選択肢ごとの解説
- ア誤り。0番地に12を置く配置は,バイトの並びを誤って解釈したものであり,リトルエンディアンの正しい配置ではありません。
- イ正しい。最下位バイトの34を先頭(オフセット0)に置き,以降12,CD,ABの順に格納するのがリトルエンディアンです。
- ウ誤り。43,21,DC,BAという値は,各バイトの上位・下位ニブルを入れ替えるなど元の16進数とは異なる値になっており,正しい配置ではありません。
- エ誤り。AB,CD,12,34の順(上位バイトから先頭に置く配置)はビッグエンディアンの配置であり,リトルエンディアンではありません。