home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpm / gendoc / hex.tzt / HEX.TXT
Text File  |  1987-02-26  |  9KB  |  125 lines

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