This page has not been looked at yet My apologies for any issues this may cause.
4.4 : Half Adder
So we're gonna start by adding two 1 bit numbers. I'm gonna first set this up like a truth table. Remember, this is NOT a truth table. (No pun intended) We are adding these bits.
x | + | y | = | Carry | Sum |
---|---|---|---|---|---|
0 | + | 0 | = | 0 | 0 |
0 | + | 1 | = | 0 | 1 |
1 | + | 0 | = | 0 | 1 |
1 | + | 1 | = | 1 | 0 |
Let's analyze the work we just did. First to notice, we added bits. 0 + 0 = 00. 0 + 1 = 01. 1 + 0 = 01. 1 + 1 = 10. This is all quite clearly listed above. Remember the reason we use 00, 01, 10, and 11 as our values for X and Y in that exact order. It's like in elementary school, when you have certain meats and cheeses you can make a sandwich from. You can only choose one meat and one cheese to make a sandwich, what are all the combinations to make a sandwich, This order of numbers exhausts all the possiblities of "binary sandwiches" we can create. Also, these are the binary representations of the numbers 0, 1, 2 and 3. This puts order into our sandwiches.\ Past that tangent, we've added the 1-bit values to create a two bit value. The first bit is the sum, the second is the carry. Let's analyze these columns. Since we're going to solve this problem with boolean algebra, let's look at this from a boolean algebra perspective. If we compare X, Y, and Carry, what boolean operator is this? What about the Sum column? If we compare X, Y, and Sum what boolean opoerator creates this outcome? Try not to peek down below.
If you answered the questions above correctly, you found that the two main operators used are XOR and AND. Now if we apply XOR to both X and Y, then apply AND to both X and Y, we have added two bits together and formed a Half Adder. The half adder is a basic buiding block to build a full adder and then a CPU. Down below I put circuits for the half adder. Notice how X and Y are connected to both XOR and AND. Have fun adding bits.
Practice Problems
Enter the boolean operator that gives the same output as the CARRY column.
Enter the boolean operator that gives the same output as the SUM column.