基本情報技術者試験 過去問解説
排他的論理和とは?基本情報技術者試験 令和元年度 科目A 修了認定試験 問2を解説
基本情報技術者試験 令和元年度 科目A 修了認定試験 問2は、排他的論理和に関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。
問題文
次に示す手順は、列中の少なくとも一つは 1 であるビット列が与えられたとき、最も右にある 1 を残し、他のビットを全て 0 にするアルゴリズムである。例えば、00101000 が与えられたとき、00001000 が求まる。a に入る論理演算はどれか。 - 手順1:与えられたビット列 A を符号なしの 2 進数と見なし、A から 1 を引き、結果を B とする。 - 手順2:A と B の排他的論理和(XOR)を求め、結果を C とする。 - 手順3:A と C の[ a ]を求め、結果を A とする。
この問題の出題ポイント
- 排他的論理和の定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
- 関連タグ: ビット演算。
選択肢
- ア排他的論理和(XOR)
- イ否定論理積(NAND)
- ウ論理積(AND)正解
- エ論理和(OR)
正解
ウ: 論理積(AND)
解説
ビット列 A から 1 を引いた B では、最も右の 1 ビット位置から下位の 0 ビット全てが反転する。A XOR B によりこの反転領域がマスクとして得られ、A AND C で最右の 1 のみを残せる。例: A=00101000, B=00100111, C=A XOR B=00001111, A AND C=00001000。
なぜ他の選択肢が違うのか
ア
XOR を使うと A=01001000 などになり、最右 1 だけを残せない。
イ
NAND は元の A のビット情報を破壊するため、最右 1 を残す動作にならない。
ウ(正解)
AND によりマスク C との共通ビットだけが残り、A の最右 1 だけが選択される=正解。
エ
OR では A の全ての 1 ビットがそのまま残り、他のビットも 0 にならない。
解き方の整理
排他的論理和の問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。
関連問題
前後の問題
復習を続ける
間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。