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

基本情報技術者 2016年 秋期 午前(科目A)01


問題文

8ビットのビット列の下位4ビットが変化しない操作はどれか。

選択肢

16進表記OFのビット列との排他的論理和をとる。
16進表記OFのビット列との否定論理積をとる。
16進表記OFのビット列との論理積をとる。(正解)
16進表記OFのビット列との論理和をとる。

下位4ビットが変化しない操作はどれか【午前2 解説】

要点まとめ

  • 結論:16進表記0F()との論理積(AND)をとる操作は下位4ビットをそのまま残すため正解です。
  • 根拠:ANDはマスクの1の位置のビットを保持し0の位置を0にするため、マスクが下位4ビット1なら下位4ビットは変化しません。
  • 差がつくポイント:マスクの1/0の意味を即座に二進数で把握できるか、XOR/OR/否定論理積(NAND)の作用を混同しないかが合否を分けます。

正解の理由

正解は (16進表記OFのビット列との論理積をとる)。
ここで「16進表記OF」は通常 (2進で )と解釈します。論理積(AND) はマスクの1になっている下位4ビットだけを保持し、各ビットについて
  • マスクが1の位置:結果ビット = 入力ビット(保持)
  • マスクが0の位置:結果ビット = 0(上位4ビットは0になる) したがって下位4ビットの値はそのまま残り「変化しない」と言えます。

よくある誤解

  • XOR(排他的論理和)は「1のところで反転」するため下位4ビットが変化するのに注意。
  • ORはマスクの1で強制的に1にするため、下位4ビットがすべて1に変わり保持とはならない。
  • 「否定論理積(NAND)」はANDの否定なので下位4ビットを反転し、上位は常に1になり下位が変わるため誤り。

解法ステップ

  1. マスク(OF)が何を表すか確認:(下位4ビットが1)。
  2. 各論理演算のビットごとの作用を思い出す:AND(保持/クリア)、OR(設定)、XOR(反転)、NAND(ANDの否定)。
  3. マスクの1の位置で「保持」になるのはANDのみであることを確認する。
  4. よって「論理積(AND)」を選ぶ。

選択肢別の誤答解説

  • ア: 16進表記OFのビット列との排他的論理和をとる。
    • XORはマスクの1の位置で入力ビットを反転するため下位4ビットは変化します。誤り。
  • イ: 16進表記OFのビット列との否定論理積をとる。
    • NAND は のため、マスク1の位置で入力を反転し、マスク0の位置は常に1になります。下位4ビットは変わるため誤り。
  • ウ: 16進表記OFのビット列との論理積をとる。
    • AND はマスク1の位置のビットをそのまま残すので下位4ビットは変化しません。正解です。
  • エ: 16進表記OFのビット列との論理和をとる。
    • OR はマスク1の位置を強制的に1にするため、下位4ビットが1に変化してしまいます。誤り。

補足コラム

  • マスク処理の基本:特定ビットを「取り出す(AND)」「立てる(OR)」「反転する(XOR)」の3パターンは頻出です。試験ではまず16進数を2進数で見てマスクがどのビットに効くかを確認すると速いです。
  • 表記の注意:「OF」は文脈上 のことですが、0(ゼロ)とO(オー)の誤読に注意してください。正しくは 0F = 00001111₂ です。
  • 実務ではNAND単体よりAND/NOTを組み合わせることが多く、問題文で「否定論理積」と書かれたらNANDを想定します。

FAQ

Q: なぜANDで上位4ビットは0になるが「下位4ビットが変化しない」と言えるのですか?
A: 質問は「下位4ビットが変化しない操作はどれか」が趣旨で、ANDは下位4ビットの値をそのまま保持します。上位4ビットが0になることは条件に含まれません。
Q: マスクが1の部分で「保持」とはどういう意味ですか?
A: ビットごとのANDでマスク側が1なら結果は元のビット値そのもの(0か1)になり、値が変わらないことを指します。
Q: 実際に確認したいときの簡単なPython例は?
A: 以下のように動作を確認できます。
x = 0b10100110  # 例:0xA6
mask = 0x0F     # 0b00001111
print(bin(x & mask))   # 論理積:下位4ビットを保持
print(bin(x ^ mask))   # 排他的論理和:下位4ビットを反転
print(bin(x | mask))   # 論理和:下位4ビットが1になる

関連キーワード: ビットマスク、下位4ビット、論理積、AND、排他的論理和、XOR、論理和、OR、否定論理積、NAND、16進数、0F、マスク処理
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

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

クイズ画面へ遷移する

すぐに利用可能!

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

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