応用情報技術者試験 応用情報技術者試験 平成29年度春期 午前 問21: 16進数 ABCD1234 をリトルエンディアンで 4 バイトのメモリに配置したものはどれか。ここで,0〜+3 はバイトアドレスのオフセット値である。
16進数 ABCD1234 をリトルエンディアンで 4 バイトのメモリに配置したものはどれか。ここで,0〜+3 はバイトアドレスのオフセット値である。 48.33%
問題本文
16進数 ABCD1234 をリトルエンディアンで 4 バイトのメモリに配置したものはどれか。ここで,0〜+3 はバイトアドレスのオフセット値である。
選択肢
- ア.オフセット 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
正解
イ. オフセット 0:34,+1:12,+2:CD,+3:AB
解説
バイト順序(エンディアン)を問う問題。ABCD1234を1バイト(16進2桁)ずつ区切ると、上位(最上位)からAB・CD・12・34で、34が最下位バイトである。リトルエンディアンは最下位バイトを最も小さいアドレスに置くので、オフセット0から順に34、12、CD、ABとなり、正解はイ。なお各バイト内の桁(例 ABの順序)は入れ替わらないため、43や21のように桁を反転させる選択肢は誤りである。
選択肢ごとの解説
- ア.バイトの並び順が誤り。リトルエンディアンでは最下位バイト34がオフセット0に来るべきだが、12を先頭にしているため不正。
- イ.正しい。最下位バイトから順に34, 12, CD, ABと低位アドレスへ配置されており、リトルエンディアンの定義どおりである。
- ウ.各バイト内の16進数の桁まで反転(34→43等)しているが、エンディアンはバイト単位の並び替えであり桁は反転しない。誤り。
- エ.最上位バイトABをオフセット0に置く配置で、これはビッグエンディアンの並びである。リトルエンディアンではないため誤り。
応用情報技術者試験 平成29年度春期 午前 の過去問一覧へ戻る・問21