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

応用情報技術者 2016年 秋期 午前201


問題文

8ビットのデータ及びの値をそれぞれ16進表現で0F, F0とするとき、8ビットのデータの下位4ビットを反転させ、上位4ビットを0にする論理式はどれか。ここで、は論理積を表し、は否定を表す。

選択肢

(正解)

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

下位4ビット反転と上位ゼロ化【午前2解説】

正解の理由

設問で要求している「8ビットデータAの下位4ビットを反転させ、上位4ビットを0にする」操作をビット演算で表すと、下位ニブル(マスク 0x0F)だけを否定し、それ以外を0にする式になります。これを式にすると (ここで )が直接対応します。しかし設問の選択肢の中で提示されている答は )です。与えられた に対して であり、 の式は となります。これは上位4ビットを保持し下位4ビットを0にする動作を表します。したがって、設問文の要求(下位を反転して上位を0にする)と選択肢・解答()の間に不一致があることに注意してください。以降で各式を具体的に評価し、正しい式と選択肢の意味を整理します。

解法ステップ

  1. 定数のビット構成を確認する
    • は 0000 1111(下位4ビットが1)
    • は 1111 0000(上位4ビットが1)
    • (8ビットでのビット反転)
  2. 要求動作を論理式に落とす
    • 「下位4ビットを反転(= 各下位ビットを否定)」かつ「上位4ビットを0にする」→ 下位のみ否定して上位を0にするので
  3. 与えられた選択肢を X, Y に代入して評価する
    • ア: (上位を反転して下位0)
    • イ: (アと同等)
    • : (上位を保持し下位を0)
    • エ: (下位を保持し上位を0)
  4. 上記から、設問で要求された動作に対応する式は であり、これは選択肢に含まれていない。一方で与えられた正解は であり、その式は別の動作(上位保持・下位0)を表す。

選択肢別の誤答解説

  • ア:
    → 結果は「上位4ビットは A の反転(~A の上位4ビット)、下位4ビットは0」。設問の「下位を反転して上位を0にする」とは異なる。
  • イ:
    → アと同じ式。やはり上位の反転を残し下位を0にする。
  • :
    → 「上位4ビットを保持し、下位4ビットを0にする」動作。設問文どおりの“下位を反転”にはならないが、選択肢の中ではマスク操作で上下を分ける典型例となる。
  • エ:
    → 「下位4ビットを保持し、上位4ビットを0にする」。保持であって“反転”ではない。

よくある誤解

  • マスクの向き(X が下位マスクか上位マスクか)を誤認する
    → 0x0F は下位、0xF0 は上位。桁の向きを間違えると全く異なる結果になります。
  • 「反転(invert)」と「選択(maskで保持)」を混同する
    → 反転は否定(NOT)、保持は論理積(AND)で表現。両者は別操作です。

補足コラム

  • 下位 n ビットだけを反転する一般式:(M は反転対象のマスク)
  • 下位 n ビットだけを反す(トグル)する一般式(ビット反転=0↔1 を実際に切り替える)には XOR を使うのが最も簡潔:

    例:下位4ビットを「反転(トグル)」して上位を0にしたい場合はまずトグルしてから上位を0にマスク:

    ただし問題の選択肢では XOR を使ったものがないため、選択肢の組合せで表現できるかを見極める必要があります。
  • 実務でよく使うマスク表現:0x0F(下位ニブル)、0xF0(上位ニブル)、~X は 8ビットでの反転に注意。

FAQ

Q1:設問の要求と選択肢が一致していないように見えます。どう扱うべきですか?
A1:本問の記述どおり「下位4ビットを否定して上位を0」にしたいなら、正しい式は (選択肢にはない)です。選択肢の中から最も近い振る舞い(上下ニブルの切り分け)を選ぶと、上位を保持して下位を0にする が該当します。試験では設問文と選択肢の整合をよく読み、マスク(X,Y)のビット配置を確実に確認してください。
Q2:下位を「反転(invert)」と「トグル(toggle)」は同じ意味ですか?
A2:本質的に同じ操作(0↔1 を入れ替える)を指しますが、論理式では「否定(NOT)」は単純にビットを反すための演算子であり、あるときは XOR を使って選択的にトグルします。どちらを用いるかは文脈(全ビット否定か選択ビットのみか)に依存します。

関連キーワード: ビット演算、マスク、論理積、ビット否定、ニブル、XOR、マスク設計、論理式評価
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

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

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