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

選択肢
ア:
イ:(正解)
ウ:
エ:
16進数 ABCD1234 をリトルエンディアンで4バイトのメモリに配置したものはどれか【午前2 解説】
要点まとめ
- 結論:リトルエンディアンは下位バイトを先頭アドレスに配置するため、正解はイです。
- 根拠:16進数 ABCD1234 は4バイトで、各バイトは AB, CD, 12, 34 ですが、リトルエンディアンでは逆順に並べます。
- 差がつくポイント:エンディアンの理解不足でバイト順を誤ると、メモリ配置が逆になり誤答します。
正解の理由
リトルエンディアン方式では、数値の最下位バイト(LSB)をメモリの先頭アドレス(オフセット0)に置き、上位バイトへ順に配置します。
16進数 ABCD1234 をバイト単位で分解すると、AB(上位バイト)、CD、12、34(下位バイト)となります。
したがって、リトルエンディアンでは 34(LSB)→12→CD→AB(MSB)の順にメモリに配置され、選択肢イが正しいです。
16進数 ABCD1234 をバイト単位で分解すると、AB(上位バイト)、CD、12、34(下位バイト)となります。
したがって、リトルエンディアンでは 34(LSB)→12→CD→AB(MSB)の順にメモリに配置され、選択肢イが正しいです。
よくある誤解
ビッグエンディアンとリトルエンディアンの違いを混同し、上位バイトを先頭に置く配置をリトルエンディアンと誤認することが多いです。
解法ステップ
- 16進数をバイト単位に分割する(AB, CD, 12, 34)。
- リトルエンディアンは下位バイトから順に配置するルールを確認。
- 下位バイト34をオフセット0に置き、次に12、CD、ABの順に並べる。
- 選択肢の中からこの順序に合致するものを選ぶ。
選択肢別の誤答解説
- ア:12, 34, AB, CD の順で、バイト順が正しく逆転しておらず誤り。
- イ:34, 12, CD, AB の順でリトルエンディアンの正しい配置。
- ウ:43, 21, DC, BA はバイトの並びが逆で、16進数のバイト分割も誤っている。
- エ:AB, CD, 12, 34 はビッグエンディアンの配置で、リトルエンディアンではない。
補足コラム
エンディアンとは、複数バイトで表現されるデータのバイト順序のことです。
リトルエンディアンはIntel系CPUで採用され、ビッグエンディアンはネットワークプロトコルなどで使われます。
理解しておくと、メモリ操作やデータ通信のトラブルシューティングに役立ちます。
リトルエンディアンはIntel系CPUで採用され、ビッグエンディアンはネットワークプロトコルなどで使われます。
理解しておくと、メモリ操作やデータ通信のトラブルシューティングに役立ちます。
FAQ
Q: リトルエンディアンとビッグエンディアンの違いは何ですか?
A: リトルエンディアンは下位バイトを先頭に置き、ビッグエンディアンは上位バイトを先頭に置きます。
A: リトルエンディアンは下位バイトを先頭に置き、ビッグエンディアンは上位バイトを先頭に置きます。
Q: なぜリトルエンディアンが使われるのですか?
A: CPUの設計上、下位バイトから処理しやすいためリトルエンディアンが採用されることが多いです。
A: CPUの設計上、下位バイトから処理しやすいためリトルエンディアンが採用されることが多いです。
関連キーワード: リトルエンディアン、バイトオーダー、メモリ配置、16進数、エンディアン、バイト順序、CPUアーキテクチャ

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

