応用情報技術者 2011年 春期 午前2 問02
問題文
次の論理演算が成立するときに、[ a ]に入るビット列はどれか。ここで、⊕は排他的論理和を表す。
1101⊕0001⊕[ a ]⊕1101=1111
選択肢
ア:1011
イ:1100
ウ:1101
エ:1110(正解)
論理演算の排他的論理和問題【午前2 解説】
要点まとめ
- 結論:与えられた排他的論理和の式から、[a]に入るビット列は「1110」である。
- 根拠:排他的論理和(XOR)は同じビット同士で2回適用すると元に戻る性質を持つため、式を整理して[a]を求められる。
- 差がつくポイント:XORの性質を正確に理解し、複数のXORを順に計算していく力が問われる。
正解の理由
排他的論理和(XOR)は以下の性質を持ちます。
- XORは結合法則と交換法則が成り立つため、順序を変えて計算可能
問題式:
まず、 なので式は、
つまり、
つまり、
ここから、 を計算すると、
よって、[a]に入るビット列は「1110」であり、選択肢の中ではエが正解です。
よくある誤解
XORの性質を知らずに単純にビットごとに足し算のように考えてしまうことが多いです。
また、XORの結合法則や交換法則を使わずに順番通りに計算しないと混乱しやすいです。
また、XORの結合法則や交換法則を使わずに順番通りに計算しないと混乱しやすいです。
解法ステップ
- 式の中で同じビット列が2回現れている部分を見つける(ここでは1101が2回)。
- XORの性質より、同じビット列を2回XORすると0になることを利用し、式を簡略化。
- 簡略化した式から未知のビット列[a]を含む部分を分離。
- 既知のビット列と結果のビット列をXORして[a]を求める。
- 選択肢と照合して正解を決定する。
選択肢別の誤答解説
- ア: 1011
1111 ⊕ 0001 = 1110 なので1011は合わず、計算結果と一致しません。 - イ: 1100
同様に1100をXORしても1111にならず不正解です。 - ウ: 1101
1101は問題文に既に2回登場し、0になるため[a]としては不適切です。 - エ: 1110
正解。計算結果と一致し、論理的に正しい値です。
補足コラム
排他的論理和(XOR)は情報処理や暗号理論で重要な演算です。
特に、ビット列の差分検出や誤り検出符号、暗号の基本操作として頻繁に使われます。
XORの性質を理解することは、情報処理技術者試験だけでなく実務でも役立ちます。
特に、ビット列の差分検出や誤り検出符号、暗号の基本操作として頻繁に使われます。
XORの性質を理解することは、情報処理技術者試験だけでなく実務でも役立ちます。
FAQ
Q: XORの結合法則とは何ですか?
A: XORはが成り立ち、計算順序を変えても結果が同じです。
A: XORはが成り立ち、計算順序を変えても結果が同じです。
Q: なぜ同じビット列を2回XORすると0になるのですか?
A: XORはビットごとに「異なれば1、同じなら0」を返すため、同じビット列を2回XORすると全ビットが0になります。
A: XORはビットごとに「異なれば1、同じなら0」を返すため、同じビット列を2回XORすると全ビットが0になります。
関連キーワード: 排他的論理和、XOR, ビット演算、論理演算、情報処理技術者試験、ビット列計算

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

