Binary Addition with Logic Gates
On this page, you will catch a glimpse of how computers do basic arithmetic operations such as addition using only binary digits and 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.
If you are having difficulty making sense of this table consider addition of binary digits:
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.
- Examine the Snap! file and all its sprites. For the sprites
SUM
and CARRY
assemble some code blocks to emulate a half-adder.
Full-Adder
If you are having difficulty making sense of this table consider addition of three binary digits:
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
and B
, have been written for you. For the sprites SUM1
, CARRY1
, SUM OUT
, CARRY2
, CARRY OUT
, assemble some code blocks to emulate a full-adder.
-
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.