## Binary Code

WikipediaA binary code represents text or computer processor instructions using the binary number system's two binary digits, 0 and 1.

Binary is a Series of Light Switches

Each switch is a number, each one double the one before, (1, 2, 4, 8, 16, 32...).

Each light switch is either on or off. If the light is on, you'll include that number.

Add up the numbers from each switch that's "on", and that's what number the binary code (1's and 0's, on or off) represents.

The computer then can use these numbers to represent letters, whole numbers, anything it needs.

clintandrewhallBinary is a Counting Puzzle

A lot of people are confused by what Binary actually is... sure, it's a series of 1s and 0s. But it's been represented as computing itself, (which it is, but not in the way that we've dramatized it).

While most programs, in their most basic, *basic* form, are binary, binary in and of itself is a method of counting.

So let's take it as a puzzle. Suppose we have a checkers set, with red and black pieces and the checkerboard. Then say I cut the board so that there is only one line of squares, which would be eight squares:

```
_ _ _ _ _ _ _ _
|_|_|_|_|_|_|_|_| = 0
```

So now we say that the red checkers are '1'. So there are no checkers on the board, so that's obviously zero. And for 1 we'd put a red square:

```
_ _ _ _ _ _ _ _
|r|_|_|_|_|_|_|_| = 1
1
```

But now... how do we represent 2? We only have red checkers... well, we have more squares in our row... why not put a red checker in the next space? That could be 2, right:

```
_ _ _ _ _ _ _ _
|_|r|_|_|_|_|_|_| = 2
2
```

Ok, so now what about three? Well, we could just move the checker down one square:

```
_ _ _ _ _ _ _ _
|_|_|r|_|_|_|_|_| = 3?
```

But that seems wasteful... the larger the number, the more squares we need. Can we make it so we can use fewer squares?

Well we already said that the first square was one if the red checker was there... why not use it, too?

```
_ _ _ _ _ _ _ _
|r|r|_|_|_|_|_|_| = 3
1+2
```

That's a much better use of the squares. Now, if we follow the pattern we've set up, we can set up the counting game to be REALLY efficient:

```
_ _ _ _ _ _ _ _
|_|_|r|_|_|_|_|_| = 4
4
_ _ _ _ _ _ _ _
|r|_|r|_|_|_|_|_| = 5
1 + 4
_ _ _ _ _ _ _ _
|_|r|r|_|_|_|_|_| = 6
2+4
_ _ _ _ _ _ _ _
|r|r|r|_|_|_|_|_| = 7
1+2+4
```

...and so on...

Do you see the pattern?

```
0 0 0 0 0 0 0 1
1 2 4 8 16 32 64 128
```

Do those numbers sound familiar? 16, 32, 64, 128... they're all sizes of iPods, thumb drives and other storage devices. :-)

Binary helps computers build numbers, which combine to form letters, which combine to form other, more complicated structures. That's all binary is...

...and no matter what someone may tell you: they can't read large portions of it, (and who would want to?)

clintandrewhall