This page will explain the
significance of different-base number systems, and how important they
are to the field of computing.
Introduction
The base number system we are all familiar with is 10 [Decimal]. With
it we use ten unique integers:
0 1 2 3 4 5 6 7 8 9
After the number nine comes 10. Notice that 10 is not a unique number;
it is a combination of two unique numbers. The numbers 10-19 are the
second iteration of the base 10 system, 20-29 are the third iteration,
and so forth.
The base 8 system (Octal) uses only the integers 0-7, so counting with
it would look like this:
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 ...
After 7 comes 10, which starts the second iteration in the octal system.
10 in octal is not the same as 5+5; you can see it is the equivalent
of 8 in decimal. Likewise, 20 octal is 16 in decimal, 100 octal is 64
decimal.
Now we take a look at the base 2 number system [binary]. The only unique
integers in this system are 0 and 1. Counting with it looks like this:
0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000
...
The number 10000 binary is the equivalent of 16 in decimal and 20 in
octal.
We have looked at the decimal, octal and binary number systems. When
a base-number system is greater than 10, additional integers besides
0-9 must be used. The base 16, or hexadecimal system, is a good example.
Because we don't have 16 unique integers in our numbering, we use letters
to fill integers after 9. So hexadecimal counting looks like this:
0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12 13 14 15 16 17 18 19 1A ...
E4 E5 ... F9 FA ...
A look at different base systems:
When expressing large numbers, the binary system is very inefficient,
as is any low base system. Higher base systems can express numbers using
fewer characters. To illustrate this, we will look at a table showing
numbers as they would look in different base systems. The columns are
different systems: Base 2, 3, 4, 8, 9, 10, 16, and 18. The rows are
different numbers as they look in each system.
*2*
|
*3*
|
*4*
|
*8*
|
*9*
|
*10*
|
*16*
|
*18*
|
10
|
2
|
2
|
2
|
2
|
2
|
2
|
2
|
1,000
|
22
|
20
|
10
|
8
|
8
|
8
|
8
|
11,011
|
1,000
|
123
|
33
|
30
|
27
|
1B
|
19
|
1,100,100
|
10,201
|
1,210
|
144
|
121
|
100
|
64
|
5A
|
100,000,000
|
100,111
|
10,000
|
400
|
314
|
256
|
100
|
E4
|
1,000,000,000
|
200,222
|
20,000
|
1000
|
628
|
512
|
200
|
1A8
|
Note: The commas are present only to simplify reading
Notice that it is much simpler to express numbers using larger base
systems. Because computers rely on the binary system, base 16 is used
for expressing long binary numbers. There is a reason base 16 is used
for binary instead of say 10, or 18. If you look at the table, 100,000,000
binary is the same as 100 hexadecimal, whereas it is '256' in base 10
and 'E4' in base 18. Hexadecimal is very compatible with binary because
16 is a power of 2. Likewise, base 4 and 8 are also very nice systems
to represent binary numbers. This is not only applicable with powers
of 2 though. All of the base 3 numbers in the table work well with base
9 (though the only number showing this obviously in the table is '1000').
One thing to note is that base 10 is not "nice" with respect
to base 2, and base 18 is not "nice" with respect to base
3, though each is a multiple of the previous. In order for number systems
to "look good together", the higher system must be a power
of the lower.
What does this all mean?
Understanding different number systems is essential to understanding
how computers work. A standard personal computer contains millions of
transistors, each of which either contains or doesn't contain an electrical
charge. This property of transistors makes them perfect containers for
the base 2 system--0 and 1 (symbolic of "no charge" and "electrically
charged," also known as "off" and "on"). When
millions upon millions of these building blocks are used to create a
computer system, it becomes a complex machine which is and handles binary
data. And because of this, everything a computer does can be simplified
to binary operations.
Example: When you add 3 and 5 on a computer, the computer is really
adding what is contained in a total of five transistors: ("1"
"1") for the number 3, and ("1" "0" "1")
for the number 5. The trick of "lining up" transistors like
this allows us to use them to represent binary numbers. Referring to
the table above, we now see that the base ten number "512"
could be represented by a single "1" transistor followed by
nine "0" transistors on a computer.
Just for fun: After understanding the previous math example, we can,
in a matter of speaking, say that the integers 2 through 9 are an illusion,
and therefore all other letters and characters, as well as everything
we can possibly look at on a computer screen. Even more fundamentally,
even 1 and 0 hide us from the truth of On and Off; electrons or the
absence thereof. As odd or even uncomfortably humorous as this may sound,
it is nevertheless true, and explained in another section. It is necessary
to say, however, that this does not prove or even support postmodern
theory, if you know and care to make that connection.
We see that computers are inextricably bound to the binary system,
thus making different base number systems required reading for any serious
computer user or designer. This knowledge is not limited to computer-related
fields, however. Geneticists deal extensively with base four in their
research, as the four possible nucleotide combinations fulfill that
system (yes, there are five nucleotides, but only four will be found
in a strand of RNA or DNA). And the applications don't end there either.
Copyright (C) 2003-2004 Grant Ayers
|