応用情報技術者試験 応用情報技術者試験 平成29年度春期 午前21: 16進数 ABCD1234 をリトルエンディアンで 4 バイトのメモリに配置したものはどれか。ここで,0〜+3 はバイトアドレスのオフセット値である。

応用情報技術者試験 平成29年度春期 午前
Q 2121 / 80
16進数 ABCD1234 をリトルエンディアンで 4 バイトのメモリに配置したものはどれか。ここで,0〜+3 はバイトアドレスのオフセット値である。
リトルエンディアン配置の4択メモリ配置図(各選択肢がオフセット0〜+3のバイト値を示す表形式図)
この問の正解率:48.33%(1,316件)

解説

応用情報技術者試験 平成29年度春期 午前 問21「16進数 ABCD1234 をリトルエンディアンで 4 バイトのメモリに配置した…」の正解と解説です。応用情報技術者試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約48%です。

正解

. オフセット 0:34,+1:12,+2:CD,+3:AB

正答率 48.3%(1,316人中 636人が正解)

問題の解説

バイト順序(エンディアン)を問う問題。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

応用情報技術者試験 の iOS アプリ版

アプリ版なら、よりスムーズに動作し、
スワイプで問題遷移ができます。

応用情報技術者試験 合格.dev を App Store でダウンロード