[One of 50 articles written and published for Demand Media in 2013. Published version here.]
Binary numbers form the basis of all modern computing. At the machine level, transistors serve as on-off switches. 0 means a switch is off. Modern desktop computers routinely have more than a billion transistors and often they have 2 billion; graphics processors go as high as 7 billion. A typical smartphone’s cycle speed is 1.7 GHz, meaning each “core” or CPU can process 1 billion, 700 million instructions each second. That’s a lot of flipping switches.
How Binary Numbers Work
Imagine a light switch. 0 is down, 1 is up. Now imagine two light switches. The first one is up, the second one is down, like so: 10. Those two switches together represent the number 2. Imagine both switches are up: 11. This represents the number 3. The number 4 is shown with three switches: 100. Representing 8 requires four switches: 1000. Using enough switches, any number can be represented in binary. Have your child work out the switch positions for the numbers 5 to 7 and 8 to 16?
Both binary and decimal numbers use place values. In decimal systems, also called base 10 counting, you know the right-most number is always one of 10 numbers: 0-9. You know the next column is 10s; 10, 20, 30 and so on. The third column is 100s. You can see each column is another power of 10. A similar concept applies to binary. It’s a base-two system, so place values double instead of expanding by 10s. Like so: 64, 32, 16, 8, 4, 2, 1. Write down this sequence of numbers and imagine them in neon on the wall, with a switch under each one. Draw a 0 or 1 under each number to show if it is dark or lit. Add the numbers that are “on” to get their binary values. For example, if your switches are set to 0001110, you add 8+4+2 = 14. Try other combinations.
Another way to visualize binary numbers is by using fingers. A finger up is 1. Hold up your right hand with four closed fingers facing you and your thumb pointing right. Your thumb is 1. Hold up your index finger. Two rightward fingers up = 3. Now hold up your middle finger. Three rightward fingers up = 7. Raise your ring finger, and you have binary 15. Ask you child what number do you get if you add your pinky finger?
You can use binary to create a simple code system. Let each number represent a letter. Let’s make the letter A = 1 and Z = 26. With this system, A B C would read 01 10 11. Another example; in binary The Cat in the Hat would look like this: 10100 1000 101 11 01 10100 1001 1110 10100 1000 101 1000 01 10100. Have your child try trading simple binary code messages with a friend and see whether they can both decode it correctly.