応用情報技術者 2009年 秋期 午前2 問24
問題文
16進数 ABCD1234 をリトルエンディアンで4バイトのメモリに配置したものはどれか。

選択肢
ア:
イ:(正解)
ウ:
エ:
16進数 ABCD1234 をリトルエンディアンで4バイトのメモリに配置したものはどれか【午前2 解説】
要点まとめ
- 結論:16進数 ABCD1234 をリトルエンディアンで配置すると、バイト順は「34 12 CD AB」となる。
- 根拠:リトルエンディアンは「下位バイトを先頭アドレスに置く」方式で、4バイトの値を逆順にメモリに格納する。
- 差がつくポイント:バイトの並び替えを正確に理解し、16進数の各バイト単位で逆順に並べることが重要である。
正解の理由
リトルエンディアン方式では、数値の最下位バイト(LSB)をメモリの先頭アドレスに配置します。
16進数 ABCD1234 は4バイトで、バイトごとに区切ると「AB」「CD」「12」「34」ですが、これは上位バイトから下位バイトの順です。
リトルエンディアンではこれを逆にして「34」「12」「CD」「AB」となり、選択肢の中でイがこれに該当します。
16進数 ABCD1234 は4バイトで、バイトごとに区切ると「AB」「CD」「12」「34」ですが、これは上位バイトから下位バイトの順です。
リトルエンディアンではこれを逆にして「34」「12」「CD」「AB」となり、選択肢の中でイがこれに該当します。
よくある誤解
リトルエンディアンは単に16進数の文字を逆にするのではなく、バイト単位で逆順に並べることを忘れがちです。
また、ビッグエンディアンと混同して、元の順序のまま配置する誤りも多いです。
また、ビッグエンディアンと混同して、元の順序のまま配置する誤りも多いです。
解法ステップ
- 16進数を2桁ずつ(1バイト単位)に区切る:「AB」「CD」「12」「34」
- 上位バイトから下位バイトの順で並んでいることを確認する。
- リトルエンディアンは下位バイトから順にメモリに配置するため、逆順に並べる。
- 逆順にすると「34」「12」「CD」「AB」になる。
- 選択肢の中からこの並びに合致するものを選ぶ。
選択肢別の誤答解説
- ア:バイトの並びが「12 34 AB CD」となっており、リトルエンディアンの逆順になっていない。
- イ:正解。リトルエンディアンの正しいバイト順「34 12 CD AB」。
- ウ:バイトの並びが「43 21 DC BA」となっており、16進数のバイト単位の区切りも逆になっている誤り。
- エ:元の16進数の上位バイトから順にそのまま並べており、ビッグエンディアンの配置である。
補足コラム
エンディアンとは、コンピュータのメモリに多バイトデータを格納する際のバイト順序の規則です。
リトルエンディアンはIntel系CPUで採用されており、下位バイトを先頭に置くため、数値のバイト並びが逆になります。
ビッグエンディアンはネットワークプロトコルなどで使われ、上位バイトを先頭に置きます。
リトルエンディアンはIntel系CPUで採用されており、下位バイトを先頭に置くため、数値のバイト並びが逆になります。
ビッグエンディアンはネットワークプロトコルなどで使われ、上位バイトを先頭に置きます。
FAQ
Q: リトルエンディアンとビッグエンディアンの違いは何ですか?
A: リトルエンディアンは下位バイトを先頭に置き、ビッグエンディアンは上位バイトを先頭に置くバイト順序の違いです。
A: リトルエンディアンは下位バイトを先頭に置き、ビッグエンディアンは上位バイトを先頭に置くバイト順序の違いです。
Q: 16進数の数値をバイト単位で区切る理由は?
A: コンピュータのメモリはバイト単位でデータを扱うため、16進数も2桁(1バイト)ずつ区切って考えます。
A: コンピュータのメモリはバイト単位でデータを扱うため、16進数も2桁(1バイト)ずつ区切って考えます。
関連キーワード: リトルエンディアン、バイト順序、メモリ配置、16進数、エンディアン

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

