THE LOOLOOLO ADDING MACHINE
There are 10 types of people in this world
those who know binary, and those who don't.
A thousand years ago, the Looloolos, like many other primitive tribes, knew only two numbers: 0 for none, and 1 for all. Over the centuries, as the Looloolos grew into a civilization, they, like most civilizations, discovered other numbers between zero and all. Unlike other civilizations, however, they did not create any new digits for their new numbers. We use ten digits, 0 to 9, to notate any and all numbers. Looloolos, even today, use only 0's and 1's. Yet, they add, subtract, multiply, and divide numbers just as big, or small, as our numbers. How do they do it?
In the beginning, addition was not much of a challenge for Looloolos.
Adding nothing to nothing always results in nothing: 0+0=0.
Adding nothing to one is still one: 1+0=1.
Adding one to nothing is also one : 0+1=1.
But the Looloolos ran into trouble when they wanted to add 1 plus 1.
We know that 1+1=2, but what is simple for us was a challenge for them.
The Looloolos have no digit for the number two.
But they discovered a neat trick. They learned to carry.
We know what carry means.
When we add 9 plus 1, we carry a 1, and the sum is 10.
9
1
10
When Looloolos add 1 plus 1, they do not write the sum as 2 because they have no digit for the number two. For Looloolos, the sum of 1 plus 1 looks like 10; but, for them, 10 is the number two. They write the sum like this:
1
1
10
Just as we carry a 1 when adding 9+1, so Looloolos carry a 1 when adding 1+1.
Here is how Looloolos would add 3+5=8:
011
101
1000
Here is what 3+5=8 looks like showing the carries:
1110 < carries
011
101
1000
Notice the similarity to how we add 91+909=1000:
110 < carries
91
909
1000
ASSIGNMENT
Not too many centuries past, after the discovery of Looloolo addition, before a young Looloolo couple discovered how to use the switches in Looloolo water machines to create the first Looloolo adding machine. Here is how Loo and LooLoo did it. Loo and LooLoo noticed a pattern in the way older Looloolos added:
- 0 plus 0 output a 0
- 0 plus 1 output a 1
- 1 plus 0 output a 1
- 1 plus 1 output a 0 with a carry.
So Loo, or LooLoo, made a table of these 4 possibilities that looked like this:
A 0 0 1 1
B 0 1 0 1
SUM 0 1 1 0
Turn this table sideways and what do you see?
A B | SUM
0 0 | 0
0 1 | 1
1 0 | 1
1 1 | 0
LLLLLLLLLL! It's the Truth Table for XOR, the eXclusive OR!
Notice the table ignores carrying.
Of course, all young Looloolos are taught in elementary school how to implement truth tables with AND OR NOT blocks. So this is easy for them. Is it easy for you too? Four points if you can design a system of blocks and pipes that implement the XOR truth table above. Three extra points if you can do it using only 4 blocks. Hint: Look over others' pipe diagrams, set matchings, and truth tables for clues. Review set properties and their equalities. If you can reduce a logical expression to ANDs ORs and NOTs ( & + ~), then you can pipe it.
Remember:
- when the A and B sources are both turned off, there is no flow out the output pipe.
- when A is off and B is on, there is a flow out the output pipe.
- when A is on and B is off, there is also a flow out the output pipe.
- when the A and B sources are both turned on, there is no flow out the output pipe.
Design your system using the pipes applet.
Save your pipes image as a gif file.
Then send it to me privately as an attachment to a message.
Warning! Once again do not confuse the + that means OR with the + that means SUM.
Click here for a
Adder Demo.
|
(A+B)~A&B=output
A&B|(A~B)|(B~A)|(A+B)|output
OFF OFF OFF OFF OFF
OFF ON OFF ON ON
OFF OFF ON ON ON
ON OFF OFF OFF OFF
A X B IS TRUE IF EITHER A OR B, BUT NOT BOTH.
a |b| a x b The X represents or and T for true and F false
_________________
T T F
T F T
F T T