home *** CD-ROM | disk | FTP | other *** search
- COMPUTER BASICS: HEXADECIMAL AND BINARY NUMBERS.....................Rick Ryall
-
- Hexadecimal and binary are two words that appear frequently in computer
- magazines, machine manuals, and other computer related literature. Most often
- the text uses the terms assuming that you, the reader, already know what is
- meant by them, and there is a good chance that you don't. This article will
- explain a little bit about what is meant by hexadecimal and binary numbers,
- and also how you can convert them into something that you understand (if you
- are willing to do a little bit of work). If it appears to be going too fast
- for you, read it through once, not understanding what you are reading, and
- then come back to it again later. Often this will help things sink in.
-
- Before launching into the subject, it is necessary to review something
- with which we are all familiar and use quite often, but probably don't
- remember how it works: our numbering system. Our numbering system is based
- on ten digits (0-9), undoubtedly because most of us have ten extensions
- sticking out of our hands that are useful for counting (If our prehistoric
- ancestors had been born with only 8 fingers and thumbs, I bet our numbering
- system would be quite different). It is called the base 10 numbering system,
- and 10 is called the "base". This means, in terms with which we are
- familiar, we start counting at 0 and continue until we reach 9, then we go
- to 10 and count until we reach 19, then we go to 20, and so on. We
- always count ten numbers in the far right column before any of the columns
- on the left change. Notice a relationship? We count ten numbers and a
- column to the left changes. The base for our numbering system is ten. The
- base is the key. Remember this, it is important.
-
- If we look at some larger numbers, we will notice something interesting
- about them. Take, for instance, the number 2,379. What does the "2" stand
- for? It stands for 2 thousands, in the same way that the "3" stands for 3
- hundreds, the "7" for 7 tens, and the "9" for 9 ones. If you can remember
- back to grammar school, we called these columns the ones column, the tens
- column, the hundreds column, and the thousands column. The interesting thing
- is that each column is ten times as big in value as the column to its right
- and that ten is the base. The base is the key. Another way of looking at the
- number 2,379 is that it is equal to (2 x 1000) + (3 x 100) + (7 x 10) + (1 x
- 1) which in turn is equal to 2000 + 300 + 70 + 9.
-
- Now let's look at binary numbers. Computers do not have hands or fingers
- and they are not the least bit intelligent, so they count in a very simple
- manner. They count to 1. That's right, the machines that baffle us with the
- speed and accuracy with which they can perform mathematical computations are
- only capable of counting to 1 (we're not that much better, since we really
- only count from 0 to 9). Computers use base 2 (there are only two counting
- numbers, 0 and 1) when they count, hence the name "binary". This means that
- they start counting at 0, continue up to 1, and then what? What comes after
- 1? Well, 10 comes after 1, but you have to remember that it is 10 base two,
- not 10 base ten. If you add one more to 10 (in base two) you get 11. If you
- add one more to that you get 100 (base two). Let's see why.
-
- Remember how each column in our numbering system is ten times as large in
- value as the column to the right? It is the same in base two, except each
- column is two times as large as the column on its right. As an example,
- consider the number 10010110 in base two. The column on the extreme right is
- the ones column (just like in our numbering system). The second column to the
- left of the first is the twos column. The third column is the fours column,
- the fourth is the eights column, the fifth is the sixteens column, the sixth
- is the thirty-twos column, the seventh is the sixty-fours column, and the
- eighth is the one-hundred-and-twenty-eights column. Each column is two times
- as large as the column to its right, so the example number would equal (1 x
- 128) + (0 x 64) + (0 x 32) + (1 x 16) + (0 x 8) + (1 x 4) + (1 x 2) + (0 x 1),
- or 150. All this because a computer can't count past one.
-
- Now that we know this, it is possible to quickly figure out some of the
- simpler binary numbers. What is 10 base two? 10 = (1 x 2) + (0 x 1), which
- is 2 in our numbering system. That means that 11 base two = (1 x 2) + (1 x
- 1), which is 3, and that 100 base two = (1 x 4) + (0 x 2) + (0 x 1), which is
- 4. Not all that complex, is it? When the numbers get long, like when they
- have more than 8 numerals in them, you might need some scratch paper or a
- calculator but the method doesn't get any more complex.
-
- Ready to tackle hexadecimal numbers? They are a little bit tougher than
- binary numbers because the base is 16, so read carefully. While the binary
- numbering system only needed two of the digits (0 and 1) from our base 10
- counting numbers, the hexadecimal numbering system needs 16. Unfortunately,
- there are only 10 from which to choose and that leaves us six short. This is
- where the confusion begins. The six digits needed to complete the hexadecimal
- numbers were borrowed from the alphabet, beginning with A and ending with F,
- so if you were counting you would start with 0 and count to F before you
- reached 10 (in base 16) like this: 0,1,2,3,4,5,6,7,8,9,A, B,C,D,E,F, where A =
- 10 (base 10), B = 11 (base 10), C = 12 (base 10), D = 13 (base 10), E = 14
- (base 10), and F = 15 (base 10). Instead of counting from 0 to 9 in the ones
- column, you count from 0 to F.
-
- OK, time to decipher a hexadecimal number, which will help make clear
- what was just stated. We will start with 1B. The column on the extreme right
- is the ones column (just like in our numbering system). The column on the
- left is 16 times the ones column or the sixteens column (remember that the
- base is the key). That means that 1B = (1 x 16) + (B x 1) = 16 + B = 16 + 11
- (remember that B = 11 in base 10) = 27 (base 10). Let's take another, 21. 21
- = (2 x 16) + (1 x 1) = 32 + 1 = 33 (base 10). Do you see how it works?
-
- The next logical question is why would anyone want to use such a
- cumbersome numbering system? To find out, let's look at a four digit
- hexadecimal number, EA65. We already know that the first two columns are the
- ones column and the sixteens column. Can you guess what the next two will
- be? Remember that each column is sixteen times greater than the column to
- its right and you have got it. Column 3 is the two-hundred-fifty-sixes
- column and column 4 is the four-thousand-and-ninety-sixes column. Knowing
- that, EA65 = (E x 4096) + (A x 256) + (6 x 16) + (5 x 1) = (14 x 4096) + (10 x
- 256) + (6 x 16) + (5 x 1) = 57,344 + 2560 + 96 + 5 = 60,005 (base 10).
- Quite a large number for only four digits, eh? That is why someone would
- go to such lengths to use this numbering system, because all the addressable
- memory in an eight bit microprocessor like the one in our Kaypro machines can
- be represented by four digits. Most of the references that are expressed in
- hexadecimal numbers are either ASCII codes or memory locations. It's a
- kind of computer shorthand.
-
- Although there are probably people out there that can do it, I have yet
- to meet someone who can translate any arbitrary four digit hexadecimal number
- into base 10 in his head, so don't feel bad if you need a calculator to figure
- one of these numbers out. It is possible, with a little practice, to memorize
- some of the more common ones, though. This happens naturally when you use
- something over and over again. Since most of you will not have an opportunity
- to use these numbers over and over again, don't be overly impressed with
- someone who can spout them off like a grocery list. You can do the same thing
- in any area that you are familiar with, like classic literature, or auto
- mechanics, or travel.
-
- That is all there is to binary and hexadecimal numbers. I hope that you
- came away with an idea of what they are, at least, and maybe a better
- understanding of how to convert them to our numbering system.
-
- [ Excerpted from our April 1985 newsletter - Ed. ]