平成23年度 特別 応用情報技術者試験 午前 問11
テクノロジ/コンピュータ構成要素主記憶の1000番地から,表のように4バイトの整数データが格納されている。これを32ビットのレジスタにロードするとき,プロセッサのエンディアンとレジスタにロードされる数値との組合せとして,正しいものはどれか。 バイトアドレス:データ 1000:00 1001:01 1002:02 1003:03 (注:本サイトでは原問題の表を文字表記に変換しています)
出典:平成23年度 特別 応用情報技術者試験 午前 問11
- アリトルエンディアン:00010203,ビッグエンディアン:02030001
- イリトルエンディアン:00010203,ビッグエンディアン:03020100
- ウリトルエンディアン:02030001,ビッグエンディアン:00010203
- エリトルエンディアン:03020100,ビッグエンディアン:00010203
正解:エ
解説
リトルエンディアンは下位アドレスに数値の下位バイトを格納する方式なので,アドレス1000〜1003の00,01,02,03を上位バイトから並べ替えると03020100になります。ビッグエンディアンは上位アドレスほど下位バイトになるので,そのままの順である00010203になります。
選択肢ごとの解説
- ア誤り。ビッグエンディアンの値02030001は,バイトの並べ方を誤って一部入れ替えたものです。
- イ誤り。リトルエンディアンの値00010203はビッグエンディアンの値であり,ビッグエンディアンの値03020100はリトルエンディアンの値です。両者が入れ替わっています。
- ウ誤り。リトルエンディアンの値02030001は,バイトの並べ方を誤って一部入れ替えたものです。
- エ正しい。リトルエンディアンは下位アドレスが下位バイトになるため03020100,ビッグエンディアンは上位アドレスが下位バイトになるため00010203です。