ハードウェア
全加算器(full adder)に関する記述として、最も適切なものはどれか。入力はA、B、下位からの桁上がりCin、出力は和Sと上位への桁上がりCoutとする。
ア.Cout = A AND B AND Cin であり、3入力すべてが1のときだけ桁上がりが発生する。
イ.Cout = (A AND B) OR (Cin AND (A XOR B)) であり、A,B,Cinの3入力のうち2つ以上が1なら桁上がりが発生する。正解
ウ.Cout = A OR B OR Cin であり、1つでも入力が1なら桁上がりが発生する。
エ.全加算器は半加算器1個と同じ回路で構成でき、Cinは無視される。
解説
全加算器は「下からの繰り上がりも受け取れる多段加算器」。3つの入力ビットを足したとき、過半数(2個以上)が1なら必ず桁あふれが起きる、という「多数決ルール」で桁上がりを判定します。
なぜ イ が正解か
イが正解。全加算器の真理値表で出力Coutを観察すると、(A,B,Cin)の3ビット中1の数が2個以上のときCout=1になる。これを論理式で表すと Cout = (A AND B) OR (Cin AND (A XOR B))。これは「AとBが両方1で桁上がり」または「AかBどちらか1でCinも1なら桁上がり」を意味し、まさに3入力の多数決回路(majority gate)。
出典: AI生成問題(学習用)