平成29年度 春期 応用情報技術者試験 午前 問21
テクノロジ/コンピュータ構成要素16進数ABCD1234をリトルエンディアンで4バイトのメモリに配置したものはどれか。ここで,0〜+3はバイトアドレスのオフセット値である。 (各選択肢はオフセット0,+1,+2,+3の順にバイト値を示す) (注:本サイトでは原問題の表を文字表記に変換しています)
出典:平成29年度 春期 応用情報技術者試験 午前 問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を1バイトずつ区切ると上位から34,12,CD,ABではなく,実際には上位バイトからAB,CD,12,34の順であり,これを下位バイトから並べるとオフセット0に34,+1に12,+2にCD,+3にABとなります。
選択肢ごとの解説
- ア誤り。0:12,+1:34,+2:AB,+3:CDはビッグエンディアンでもリトルエンディアンでもない,バイトの並びを誤った配置です。
- イ正しい。下位バイトの34から順にアドレスの小さい方へ配置するため,0:34,+1:12,+2:CD,+3:ABとなります。
- ウ誤り。0:43,+1:21,+2:DC,+3:BAは各バイト内の上位・下位ニブルまで反転させてしまった誤りです。
- エ誤り。0:AB,+1:CD,+2:12,+3:34は上位バイトから順に配置しており,ビッグエンディアンの配置です。