戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

エンベデッドシステムスペシャリスト 2023年 午前2 問04


問題文

ビッグエンディアン方式を採用しているCPUが、表のようにデータが格納された主記憶の1000番地から2バイトのデータを、16ビット長のレジスタにロードしたとき、レジスタの値はどれになるか。ここで、番地及びデータは全て16進表示である。
エンベデッドシステムスペシャリスト 2023年 午前2 問04の問題画像

選択肢

ア:0001(正解)
イ:00FF
ウ:0100
エ:FF00

🔒 解説は解答すると表示されます

ビッグエンディアン方式【午前2解説】

正解の理由

ビッグエンディアン方式では、複数バイトのデータをメモリに格納するとき、最上位バイトを最も小さい番地に置きます。
番地 1000 には 00、番地 1001 には 01 が格納されています。したがって、2バイトをこの順序で16ビット長のレジスタにロードすると、値は 0001 です。この値に一致するのは ア です。

解法ステップ

  1. ロード開始番地 1000 のデータを確認します。00 です。
  2. 次の番地 1001 のデータを確認します。01 です。
  3. ビッグエンディアンでは、小さい番地のデータが上位バイトになります。
  4. 上位バイト 00 と下位バイト 01 を並べると、0001 です。

選択肢別の誤答解説

  • ア 0001:番地 1000 の 00 を上位バイト、番地 1001 の 01 を下位バイトとして並べた値です。
  • イ 00FF:番地 1001 の 01 ではなく、ロード範囲に含まれない番地 0FFF の FF を使っています。
  • ウ 0100:必要な2バイトを逆順に並べた値です。バイト順を逆にするのはリトルエンディアン方式の場合です。
  • エ FF00:ロード範囲に含まれない番地 0FFF の FF を使っており、対象となる2バイトとは異なります。

よくある誤解

  • 番地の小さい順に並べることと、数値の上位・下位を混同する
    ビッグエンディアンでは、小さい番地にあるバイトが上位になります。
  • 表に見えている近くのデータもロード対象だと思う
    ロード開始番地が 1000 なので、対象は 1000 と 1001 の2番地です。0FFF は含まれません。
  • 16ビット値を1バイトずつ逆にする
    エンディアンの違いは、複数バイトデータをメモリに配置・解釈する順序の違いです。

補足コラム

同じメモリ内容でも、エンディアン方式が異なると、複数バイトの値の解釈が変わります。今回の2バイト 00、01 をリトルエンディアン方式で解釈すると、上位・下位の順序が逆になり 0100 になります。

FAQ

Q. 1バイトのデータでもエンディアンを意識する必要がありますか?
A. エンディアンは複数バイトの並び順を扱う概念なので、1バイトだけのデータでは順序の違いは生じません。
Q. 16進数の 00 は省略してよいですか?
A. 今回は16ビット長の値を求めるため、上位バイトが 00 であっても省略せず、0001 と表します。

関連キーワード: ビッグエンディアン、リトルエンディアン、バイト順、主記憶、レジスタ載入
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?

クイズ画面へ遷移する→

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について