Return to the Purplemath home page

 The Purplemath Forums
Helping students gain understanding
and self-confidence in algebra

powered by FreeFind


Return to the Lessons Index  | Do the Lessons in Order  |  Get "Purplemath on CD" for offline use  |  Print-friendly page

Number Bases: Octal (Base 8) and
     Hexadecimal (Base 16) 
(page 3 of 3)

Sections: Introduction & binary numbers, Base 4 & base 7, Octal & hexadecimal


An older computer base system is "octal", or base eight. The digits in octal math are 0, 1, 2, 3, 4, 5, 6, and 7. The value "eight" is written as "1 eight and 0 ones", or 108.

  • Convert 35710to the corresponding base-eight number.

    I will do the usual repeated division, this time dividing by 8 at each step:

      converting 357_10 to base eight

    Then the corresponding octal number is 5458.

Now YOU try it!

  • Convert 5458 to the corresponding decimal number.

    I will follow the usual procedure, counting off the digits from the RIGHT, starting at zero:

      digits:   5  4   5
      numbering:   2  1   0

    Then I'll do the addition and multiplication:

      582 + 481 + 580
            = 564 + 48 + 51
            = 320 + 32 + 5
            = 357

    Then the corresponding decimal number is 35710.

Now YOU try it!





If you work with computer programming or computer engineering (or computer graphics, about which more later), you will encounter base-sixteen, or hexadecimal, math.

As mentioned before, decimal math does not have one single solitary digit that represents the value of "ten". Instead, we use two digits, a 1 and a 0: "10". But in hexadecimal math, the columns stand for multiples of sixteen! That is, the first column stands for how many units you have, the second column stands for how many sixteens, the third column stands for how many two hundred fifty-sixes (sixteen-times-sixteens), and so forth.

In base ten, we had digits 0 through 9. In base eight, we had digits 0 through 7. In base 4, we had digits 0 through 3. In any base system, you will have digits 0 through one-less-than-your-base. This means that, in hexadecimal, we need to have "digits" 0 through 15. To do this, we would need single solitary digits that stand for the values of "ten", "eleven", "twelve", "thirteen", "fourteen", and "fifteen". But we don't. So, instead, we use letters. That is, counting in hexadecimal, the sixteen "numerals" are:

    0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

In other words, A is "ten" in "regular" numbers, B is "eleven", C is "twelve", D is "thirteen", E is "fourteen", and "F" is fifteen.  It is this use of letters for digits that makes hexadecimal numbers look so odd at first. But the conversions work in the usual manner.

  • Convert 35710 to the corresponding hexadecimal number.

    Here, I will divide repeatedly by 16, keeping track of the remainders as I go. (You might want to use some scratch paper for this.)

      converting 357_10 to hexidecimal

    Reading off the digits, starting from the top and wrapping around the right-hand side, I see that 35710 = 16516.

  • Convert 16516 to the corresponding decimal number.

    List the digits, and count them off from the RIGHT, starting with zero:

      digits:   1  6   5
      numbering:   2  1   0

    Remember that each digit in the hexadecimal number represents how many copies you need of that power of sixteen, and convert the number to decimal:

      1162 + 6161 + 5160
           = 1256 + 616 + 51
           = 256 + 96 + 5
           = 357

    Then 16516 = 35710.

  • Convert 6393310 to the corresponding hexadecimal number.

    I will divide repeatedly by 16, keeping track of my remainders:

      converting 63933_10 to hexidecimal

    From the long division, I can see that the hexadecimal number will have a "fifteen" in the sixteen-cubeds column, a "nine" in the sixteen-squareds column, an "eleven" in the sixteens column, and a "thirteen" in the ones column. But I cannot write the hexadecimal number as "1591113", because this would be confusing and imprecise. So I will use the letters for the "digits" that are otherwise too large, letting "F" stand in for "fifteen", "B" stand in for "eleven", and "D" stand in for "thirteen".   Copyright Elizabeth Stapel 1999-2011 All Rights Reserved

    Then 6393310 = F9BD16.

Now YOU try it!

  • Convert F9BD to decimal notation.

    I will list out the digits, and count them off from the RIGHT, starting at zero:

      digits:   F  9   B  D
      numbering:   3  2    1  0

    Actually, it will probably be helpful to redo this, converting the alphabetic hexadecimal "digits" to their corresponding "regular" decimal values:

      digits:   15    9  11  13
      numbering:     3    2   1    0

    Now I'll do the multiplication and addition:

      15163 + 9162 + 11161 + 13160
            = 154096 + 9256 + 1116 + 131
            = 61440 + 2304 + 176 + 13
            = 63933

    As expected, F9BD = 6393310.

Now YOU try it!

If you would like to try converting a decimal number to a base of your own choosing, click here.

If you would like to try converting from a base of your own choosing to a decimal number , click here.

Computer Graphics

If you work on web pages and graphics programs, you may find it helpful to convert between the RGB values (for an image in your graphics program) and the hexadecimal values (for a matching background color on the web page).

Graphics programs deal with the RGB (red-green-blue) values for colors. Each of these components of a given color have values somewhere between 0 and 255. These values may be converted to hexadecimal values between 00 and FF. If you list the RGB components of a color as a string of three numbers, you might get, say, R:204, G:51, B:255, which translates into a light-purplish #CC33FF in HTML coding. Note that 20410 = CC16, 5110 = 3316, and 25510 = FF16.

On the other hand, if you have some coding for #990033, this would translate into a dark-reddish R:153, G:0, B:51 in your graphics program. That is, to convert between your graphics program and your web-page coding, deal with the hexadecimal number not as one six-digit number, but as three two-digit numbers, and convert these pairs of digits into the corresponding RGB values.

For a discussion of the history of "web safe" colors, including why they involve only the hexadecimal equivalents of 0, 51, 102, 153, 204, and 255, look here. For a demonstration of the different text and background colors in HTML, look here.

<< Previous  Top  |  1 | 2 | 3  |  Return to Index

Cite this article as:

Stapel, Elizabeth. "Number Bases: Octal (Base 8) and Hexadecimal (Base 16)."
    Purplemath. Available from


  Linking to this site
  Printing pages
  School licensing

Reviews of
Internet Sites:
   Free Help
   Et Cetera

The "Homework

Study Skills Survey

Tutoring from Purplemath
Find a local math tutor

This lesson may be printed out for your personal use.

Content copyright protected by Copyscape website plagiarism search

  Copyright 2004-2012  Elizabeth Stapel   |   About   |   Terms of Use


 Feedback   |   Error?