メインコンテンツへ
ハードウェア論理回路応用

半加算器(half adder)の入力をA、Bとし、和をS、桁上がりをCとする。S、Cを表す論理式の組合せとして、正しいものはどれか。

ア.S = A XOR B、C = A AND B正解
イ.S = A AND B、C = A XOR B
ウ.S = A OR B、C = A AND B
エ.S = A XOR B、C = A OR B

解説

半加算器は「1桁の足し算をする最小の回路」。1+1=10になるとき、和の桁は0(XORが0)、桁上がりが1(ANDが1)。XORが「足し算の本体」、ANDが「あふれた分の通知役」です。

なぜ ア が正解か

アが正解。半加算器の真理値表を作ると、(A,B)=(0,0)→S=0,C=0、(0,1)→S=1,C=0、(1,0)→S=1,C=0、(1,1)→S=0,C=1。SはAとBが異なるときだけ1なのでXOR、Cは両方1のときだけ1なのでAND。S = A XOR B、C = A AND Bがちょうど対応する。

なぜ イ は間違いか

SとCが逆になっている。和Sは「異なる入力で1」だからXORであり、AND(両方1のときだけ1)ではない。1+0=1のときAND出力は0となり、和としては誤り。

なぜ ウ は間違いか

S = A OR Bは1+1=1となってしまい加算として誤り(正しくは0で桁上がり)。ORはどちらかが1なら1を返すため、1+1=10という2進数加算の桁あふれを表現できない。

なぜ エ は間違いか

C = A OR Bは1+0や0+1のときも桁上がりCが1になってしまい誤り。桁上がりは「両方とも1のときだけ」発生するので、必ずANDでなければならない。

出典: AI生成問題(学習用)