Skip to content

Adder Model Answers

  • A half adder is a combinational logic circuit that adds two single-bit binary numbers.

  • It produces two outputs: a Sum (SS) and a Carry (CC).

  • It has no carry input, so it can directly add only the two least-significant bits.

Half adder block diagram

Half adder block diagram

AABBSSCC
000
0110
1010
1101

For 1+11+1 the result is 10210_2, so the sum bit is 00 and the carry bit is 11.

Half adder Karnaugh maps for the sum and carry outputs

Half adder Karnaugh maps for the sum and carry outputs

The two isolated 11s of the sum map cannot be grouped, which gives an XOR; the single 11 of the carry map gives an AND:

S=A‾B+AB‾=A⊕BS=\overline{A}B+A\overline{B}=A\oplus B  S=A⊕B , C=AB \boxed{\,S=A\oplus B\,},\qquad \boxed{\,C=AB\,}

Half adder logic circuit using an XOR gate and an AND gate

Half adder logic circuit using an XOR gate and an AND gate

  • An XOR gate driven by AA and BB produces the sum S=A⊕BS=A\oplus B.

  • An AND gate driven by the same AA and BB produces the carry C=ABC=AB.

  • Limitation: it cannot accept a carry-in (CinC_{in}) from a previous stage, so by itself it cannot add multi-bit numbers beyond the least-significant bit.

  • Applications:

    • Building block of the full adder (two half adders and an OR gate).

    • Least-significant-bit position of ripple-carry adders.

    • Arithmetic in calculators, ALUs, and address-decoding logic.

  • A full adder is a combinational logic circuit that adds three single-bit inputs: AA, BB, and a carry-in CinC_{in}.

  • It produces two outputs: a Sum (SS) and a Carry-out (CoutC_{out}).

  • Unlike the half adder, it accounts for the carry generated by a lower-order stage.

Full adder block diagram

Full adder block diagram

AABBCinC_{in}SSCoutC_{out}
0000
00110
01010
01101
10010
10101
11001
11111

Full adder Karnaugh map for the sum output

Full adder Karnaugh map for the sum output

The 11s form a checkerboard, so no cells can be grouped:

S=A‾ B‾ Cin+A‾BC‾in+AB‾ C‾in+ABCinS=\overline{A}\,\overline{B}\,C_{in}+\overline{A}B\overline{C}_{in} +A\overline{B}\,\overline{C}_{in}+ABC_{in}  S=A⊕B⊕Cin \boxed{\,S=A\oplus B\oplus C_{in}\,}

Full adder Karnaugh map for the carry-out output

Full adder Karnaugh map for the carry-out output

The three overlapping pairs give the standard SOP form:

 Cout=AB+BCin+ACin \boxed{\,C_{out}=AB+BC_{in}+AC_{in}\,}

An implementation-friendly form using the first half adder’s XOR is:

Cout=AB+Cin(A⊕B)C_{out}=AB+C_{in}(A\oplus B)

Full adder using a three-input XOR, three AND gates, and a three-input OR gate

Full adder using a three-input XOR, three AND gates, and a three-input OR gate

  • A 3-input XOR on AA, BB, CinC_{in} gives the sum SS.

  • Three AND gates form ABAB, BCinBC_{in}, ACinAC_{in}, and a 3-input OR combines them into CoutC_{out}.

Method 2 — Two half adders and an OR gate

Section titled “Method 2 — Two half adders and an OR gate”

Full adder built from two half adders and an OR gate

Full adder built from two half adders and an OR gate

  • HA1_1 adds AA and BB: S1=A⊕BS_1=A\oplus B and C1=ABC_1=AB.

  • HA2_2 adds S1S_1 and CinC_{in}: S=S1⊕CinS=S_1\oplus C_{in} and C2=CinS1C_2=C_{in}S_1.

  • An OR gate combines the carries: Cout=C1+C2C_{out}=C_1+C_2.

  • Cascaded to form parallel adders (ripple-carry and carry-lookahead) that add multi-bit numbers in 8-, 16-, and 32-bit CPUs.

  • Core of the arithmetic logic unit (ALU) in microprocessors.

  • Used in address generation and multiplier circuits.