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

基本情報技術者 2017年 春期 午前(科目A)22


問題文

図に示す、1桁の2進数を加算して、 (和の1桁目)及び (桁上げ)を出力する半加算器において、AとBの素子の組合せとして、適切なものはどれか。
基本情報技術者 2017年 春期 午前(科目A) 問22の問題画像基本情報技術者 2017年 春期 午前(科目A) 問22の選択肢の画像

選択肢

(正解)

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

半加算器の回路構成【午前解説】

正解の理由

正解:
半加算器は2つの1ビット入力から「和の1桁目」と「桁上げ」を出力します。これらの論理関係は次のとおりです。
  • 和(最下位ビット): (排他的論理和)
  • 桁上げ: (論理積)
    図では上側のブロックAが和の出力線に直列で接続され、下側のブロックBが両入力を受けて桁上げを出力しているため、Aに排他的論理和、Bに論理積が対応します。以上より選択肢ア(A: 排他的論理和、B: 論理積)が正しいです。

解法ステップ

  1. 出力の意味を確認する:z は和の1桁目、c は桁上げであることを確認する。
  2. 半加算器の定義を思い出す:和はXOR、桁上げはANDで表現される。
  3. 図の配線を追う:Aが和の出力線に繋がり、Bが両入力を受けて桁上げを出していることを確認する。
  4. 選択肢と照合する:A→排他的論理和、B→論理積を含む選択肢を選ぶ(ア)。

選択肢別の誤答解説

  • :A = 排他的論理和、B = 論理積 → 正解。和は、桁上げはに一致する。
  • イ:A = 否定論理積(NAND)、B = 否定論理和(NOR) → NAND/NOR は否定を含むため出力が逆になり誤り。半加算器の正しい真理値を満たさない。
  • ウ:A = 否定論理和(NOR)、B = 排他的論理和(XOR) → 桁上げがXORでは成立しない(両方1のとき桁上げが1になる必要がある)。
  • エ:A = 論理積(AND)、B = 論理和(OR) → A が AND では和のビットが正しくならない(例えば のとき和は1だがANDは0)。

よくある誤解

  • XOR と OR を取り違える:OR はどちらかが1なら1だが、和(1ビット目)は入力が「異なるとき」に1となるXORである点を誤認しやすい。
  • 図のノードを「接続点」と見落とす:塗りつぶしノードや垂直線での接続がどの信号をどこに送るかを示すため、回路経路を正確に読む必要がある。
  • 桁上げを OR と考える誤り:桁上げは「両方1のとき」にのみ発生するため AND が正しい。

補足コラム

  • 真理値表(確認用)
    x,y → z(=x⊕y), c(=x∧y)
    0,0 → 0,0
    0,1 → 1,0
    1,0 → 1,0
    1,1 → 0,1
  • 半加算器は単純だが、3入力(上位桁からの繰り上がりも含む)を扱う場合は全加算器(full adder)を使い、通常は複数の全加算器を連結して多ビット加算を行う。
  • 実装上の注意:XOR は単一ゲートで実現されることもあるが、NAND や NOR の組合せで構成することも多く、遅延やゲート数を考慮する必要がある。

FAQ

Q1: XOR と OR の見分け方は?
A1: OR はどちらか一方でも1なら1、XOR は入力が異なるときに1。真理値表の 1,1 の行で両者が異なる点を確認すると見分けやすいです。
Q2: 桁上げを OR にしたら何が問題?
A2: OR にすると の場合にも桁上げが1になってしまい、数値としての加算結果が正しくありません。桁上げは「両方1のときのみ」なので AND が正しいです。
Q3: 半加算器と全加算器の違いは?
A3: 半加算器は2入力で和と桁上げを出す回路。全加算器は3入力(2つのビット+下位からの桁上げ)を扱えるため、連結して多ビット加算を実装できます。

関連キーワード: 半加算器、排他的論理和、論理積、XOR、AND、真理値表、論理回路、ブール代数、桁上げ、回路設計
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

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

クイズ画面へ遷移する

すぐに利用可能!

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

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