### Binary (and other) Number Systems

Presently, all digital computers rely on the binary number system. The
simple reason is that present-day technology allows to
store information reliably only by turning something on or off or
on a CD to make a small indentation into the surface or not.

Mathematically we state this in terms of a zero (0) or a (1) and
call a storage unit which can change its state between 0 and 1
a "bit". Eight consecutive (in memory) bits are called a byte and
all computations computers perform are conducted in terms of this
binary ( 0 and 1 ) number system.

**How does it work ?** Well, there are a lot of similarities
between the usual decimal and the binary system :

In the decimal system, when we count some things and write as
we count, we would write down all the non-zero digits ( 1, 2, ..., 9)
and once we have exhausted the non-zero digits we proceed with a
1 infront of a 0 ( as in 10 ). Then we keep on playing with the non-zero
digits as we keep on counting until we reach 99 and then 100, again adding
a zero.

In the binary system we do the same keeping in mind that we have only
a single non-zero digit, namely the 1. As a consequence the decimal numbers
one through nine become :

1, 10, 11, 100, 101, 110 , 111, 1000, 1001
Addition, subtraction, multiplication, and division can be handled now as
well ( 100 + 111 = 1011 , using carry-overs as in the decimal system )

**An alternate way** of looking at numbers in the decimal system
is :

1507 = 1*10^{3} +
5*10^{2} +
0*10^{1} +
7*10^{0}
Remember, 10^{0} = 1. In the very same
fashion we can write out binary
numbers, this time using the 2 as base :

10111100011 = 1*2^{10} +
0*2^{9} +
1*2^{8} +
1*2^{7} +
1*2^{6} +
1*2^{5} +
0*2^{4} +
0*2^{3} +
0*2^{2} +
1*2^{1} +
1*2^{0}
Last revised: 08/22/13