In this first page, we discuss the most basic essence of computers: That
they manipulate switches whose on/off positions stand for 1's and 0's.
Those switches in turn can represent logical statements (*and, or
* and *not *), which can then be combined to perform
mathematical operations.

{Note we are discussing digital computers, which most people mean when they refer to computers. However, analog computers do exist.

The first computers were large arrays of switches that were wired up in such a way that they represented numbers and operated on them, by adding, subtracting, etc.

Switches have two possible positions, on and off. Binary digits also have two values, 1 and 0. Binary means "base 2" numbers, contrasted to our familiar "base 10" system.

Note that in our usual system (decimal system), the rightmost digit is the "ones," next the "tens," then "ten-tens" (hundreds) then "ten-ten-tens" (thousands), etc. In contrast, base 16 digits represent ones, sixteens, 256's, etc. and base 2 digits represent ones, twos, fours, eights, sixteens, 32's, 64's, etc.

For example,

decimal: | binary: |

1 | 1 |

2 | 10 |

3 | 11 |

4 | 100 |

5 | 101 |

6 | 110 |

7 | 111 |

That is the language of computers: 1's and 0's, represented by switches
being on or off. By convention, a group of eight digits, or *bits*
is called a *byte*. (See more about bits
and bytes.)

To begin with, consider how a set of switches can represent the logical
concepts of *and, or * and *not* (concepts described by
the British mathematician, George Boole (1815-1864)). From the diagram
below, note that voltage reaches point C on the *AND* box only if
voltage is applied to both A *and* B. The corresponding logical
statement is that C is true only if both A and B are true. Similarly,
voltage reaches point C on the *OR * box if either A *or*
B have voltage.

This and the following diagrams are from an ancient text called Computers written by William R. Cortiss of the U.S. Atomic Energy Commission in 1967, back when there was a U.S. Atomic Energy Commission.

Now see how we can combine a few of these logical switch boxes to add binary digits.

There are only four possible combinations to make of two binary digits: 1+1, 1+0, 0+1 and 0+0,each represented in the table of values. In the first example A=0, B=0, S (sum) =0, and C (the "carry" digit) =0.

Finally, see how a few half-adders combine to add larger numbers.

It is just a matter of extrapolating to see that larger numbers can be added. Multiplication is just repeated additions, and subtraction and division can likewise be represented by combinations of these logical switches.

Each pulse of electricity causes another operation or step to occur.
Early personal computers had about 8,000,000 ticks of the clock per second
(8MHz) and newer ones run at over 100 MHz speeds. (See more about MHz
frequencies.) Thus it may have seemed ludicrous to build *and, or*
and *not* switches just to add 1 and 0 in the examples above, but
after putting enough circuits together and running at these speeds, we can
perform complicated mathematical computations rapidly, frequently,
tirelessly and without error.