Binary Addition with Logic Gates
Review: Addition of numbers
When you add two numbers in the decimal system (base 10) you evaluate each column of addition by taking into consideration any carry in value from the previous column and then passing on to the next column any carry out value.

The exact same procedure is followed when you add two numbers in the binary system (base 2) as shown below.

As you can see in order to perform the addition of numbers you must be able to accomodate inputting a carry in value and outputting a carry out value.
Half-Adder
A half-adder adds two binary digits (with no carry in) and reports the sum and the carry out value. If you look at the "SUM" column you will notice that it is identical to the output column of XOR and if you look at the "CARRY" column you will notice that it is identical to the output column of AND.
0+0=0
0+1=1
1+0=1
1+1=2 which is 10 in binary with a units digit sum of 0 and a carry of 1.


Full-Adder

For example, 1+1+1=3 which is 11 in binary with a ones digit of 1 and a carry out value of 1.
A full-adder uses two half-adders to perform a full addition of binary digits accomodating a carry in value. It reports the sum and carry out value.


- Study the table and the full-adder schematic given above to explain how the full-adder performs the addition of two binary numbers with a carry in using two half-adders and an OR gate.
- Examine the Snap! file and all its sprites. Code for sprites
CARRY IN
,A
andB
, have been written for you. For the spritesSUM1
,CARRY1
,SUM OUT
,CARRY2
,CARRY OUT
, assemble some code blocks to emulate a full-adder.
Take It Further…
-
Learn about ripple carry adders and explain how they use full-adders to add multi-digit binary numbers. Build a Snap! program to emulate the addition of two 4-digit binary numbers with a ripple carry adder.
Image Credit: Wikipedia user Cburnett - Learn how computers subtract and multiply binary numbers using logic gates and build Snap! programs to emulate these operations.