平成21年度 秋期 午前 問24
コンピュータ構成要素
リトルエンディアンに関する問題
16 進数 ABCD1234 をリトルエンディアンで 4 バイトのメモリに配置したものはどれか。
ア
| 0 | +1 | +2 | +3 |
|---|---|---|---|
| 12 | 34 | AB | CD |
イ
| 0 | +1 | +2 | +3 |
|---|---|---|---|
| 34 | 12 | CD | AB |
ウ
| 0 | +1 | +2 | +3 |
|---|---|---|---|
| 43 | 21 | DC | BA |
エ
| 0 | +1 | +2 | +3 |
|---|---|---|---|
| AB | CD | 12 | 34 |
- ア(0,+1,+2,+3)=(12,34,AB,CD)
- イ(0,+1,+2,+3)=(34,12,CD,AB)
- ウ(0,+1,+2,+3)=(43,21,DC,BA)
- エ(0,+1,+2,+3)=(AB,CD,12,34)
答えと解説を見る
✓ これが正解イ(0,+1,+2,+3)=(34,12,CD,AB)
解説
低い側のバイトから、番地の若い方に置きます。
数を紙に書くとき、左に上の位、右に下の位、と並べる書き方が身についていますが、メモリの中の並べ方はそれと同じである必要はありません。この設問が問うリトルエンディアンは、下の位のバイトから順に、番地の若い側へ入れていく決まりです。16進数の ABCD1234 は、二けたを一つのバイトに区切って上から AB、CD、12、34 と読める並びです。この四つのうち、一番低い側に来るのは 34、次に 12、続いて CD、最上位が AB という順に置き換えれば、下位から先に入れる並びに変わります。番地の若い方から並べると、34、12、CD、AB になります。この並べ方は、上位側から順に置く逆向きの決まりと選び分けて使われる、装置の内側の取り決めの話です。
ほかの選択肢はなぜ違うのか
- ア(0,+1,+2,+3)=(12,34,…:番地の若い方から 12、34、AB、CD と並ぶと述べています。上から二けたを取ってきた並びを、単に前後の組ごとに入れ替えただけの姿で、下位のバイトから先に入れる決まりから外れています。
- ウ(0,+1,+2,+3)=(43,21,…:番地の若い方から 43、21、DC、BA と並ぶと述べています。二けたずつの区切りの中の桁順まで裏返しているため、バイトの中の桁の並びが原型と揃わなくなっています。
- エ(0,+1,+2,+3)=(AB,CD,…:番地の若い方から AB、CD、12、34 と並ぶと述べています。これは書き言葉と同じ、高い側の桁から先に置く並べ方であり、下から先に入れる決まりとは正反対の並びです。
出典:平成21年度 秋期 応用情報技術者試験 午前 問24(改変:原典の図表をテキストに書き起こした)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)