正答1
解説
正解は1です。
半加算器を構成する論理素子を問う問題です。
図では、入力xとyがそれぞれ分岐して素子Aと素子Bの両方に入り、Aの出力がz(和の1桁目)、Bの出力がc(桁上げ)になっています。
1桁の2進数の加算は、0+0=00、0+1=01、1+0=01、1+1=10 です。
【選択肢別解説】
1:○ zはxとyのどちらか一方だけが1のときに1になるので、排他的論理和(XOR)です。
cは両方が1のときだけ1になるので、論理積(AND)です。
2:× 否定論理積(NAND)は、x=y=0 のときに1を出力します。
0+0の和は0なので、zには使えません。
3:× 否定論理和(NOR)は、x=y=0 のときだけ1を出力するため、和にはなりません。
cに排他的論理和を使うと、1+1のときに桁上げが0になってしまいます。
4:× 論理積をzに使うと、1+0のときに和が0になってしまいます。
論理和をcに使うと、1+0でも桁上げが1になります。
【ポイント】
半加算器は「和=XOR、桁上げ=AND」です。
下位からの桁上げも加える全加算器は、半加算器2個とOR素子1個で構成できます。