📚 Math in Society
⇩ Download ▾

14.4 The Development and Use of Different Number Bases

Introduction and Basics

During the previous discussions, we have been referring to positional base systems. In this section of the chapter, we will explore exactly what a base system is and what it means if a system is “positional.” We will do so by first looking at our own familiar, base-ten system and then deepen our exploration by looking at other possible base systems. In the next part of this section, we will journey back to Mayan civilization and look at their unique base system, which is based on the number 20 rather than the number 10.

A base system is a structure within which we count. The easiest way to describe a base system is to think about our own base-ten system. The base-ten system, which we call the “decimal” system, requires a total of ten different symbols/digits to write any number. They are, of course, 0, 1, 2, ….. 9.

The decimal system is also an example of a positional base system, which simply means that the position of a digit gives its place value. Not all civilizations had a positional system even though they did have a base with which they worked.

In our base-ten system, a number like 5,783,216 has meaning to us because we are familiar with the system and its places. As we know, there are six ones, since there is a 6 in the ones place. Likewise, there are seven “hundred thousands,” since the 7 resides in that place. Each digit has a value that is explicitly determined by its position within the number. We make a distinction between digit, which is just a symbol such as 5, and a number, which is made up of one or more digits. We can take this number and assign each of its digits a value. One way to do this is with a table, which follows:

5,000,000 = 5 × 1 , 000 , 000 = 5 × 10 6 Five million
+700,000 = 7 × 100 , 000 = 7 × 10 5 Seven hundred thousand
+80,000 = 8 × 10 , 000 = 8 × 10 4 Eighty thousand
+3,000 = 3 × 1000 = 3 × 10 3 Three thousand
+200 = 2 × 100 = 2 × 10 2 Two hundred
+10 = 1 × 10 = 1 × 10 1 Ten
+6 = 6 × 1 = 6 × 10 0 Six
5,783,216Five million, seven hundred eighty-three thousand, two hundred sixteen

From the third column in the table we can see that each place is simply a multiple of ten. Of course, this makes sense given that our base is ten. The digits that are multiplying each place simply tell us how many of that place we have. We are restricted to having at most 9 in any one place before we have to “carry” over to the next place. We cannot, for example, have 11 in the hundreds place. Instead, we would carry 1 to the thousands place and retain 1 in the hundreds place. This comes as no surprise to us since we readily see that 11 hundreds is the same as one thousand, one hundred. Carrying is a pretty typical occurrence in a base system.

However, base-ten is not the only option we have. Practically any positive integer greater than or equal to 2 can be used as a base for a number system. Such systems can work just like the decimal system except the number of symbols will be different and each position will depend on the base itself.

Other Bases

For example, let’s suppose we adopt a base-five system. The only modern digits we would need for this system are 0,1,2,3 and 4. What are the place values in such a system? To answer that, we start with the ones place, as most base systems do. However, if we were to count in this system, we could only get to four (4) before we had to jump up to the next place. Our base is 5, after all! What is that next place that we would jump to? It would not be tens, since we are no longer in base-ten. We’re in a different numerical world. As the base-ten system progresses from 100 to101, so the base-five system moves from 50 to 51 = 5. Thus, we move from the ones to the fives.

After the fives, we would move to the 52 place, or the twenty fives. Note that in base-ten, we would have gone from the tens to the hundreds, which is, of course, 102.

Let’s take an example and build a table. Consider the number 30412 in base five. We will write this as 304125, where the subscript 5 is not part of the number but indicates the base we’re using. First off, note that this is NOT the number “thirty thousand, four hundred twelve.” We must be careful not to impose the base-ten system on this number. Here’s what our table might look like. We will use it to convert this number to our more familiar base-ten system.

Base 5This column coverts to base-tenIn Base-Ten
3 × 5 4 = 3 × 625 =1875
+ 0 × 5 3 = 0 × 125 =0
+ 4 × 5 2 = 4 × 25 =100
+ 1 × 5 1 = 1 × 5 =5
+ 2 × 5 0 = 2 × 1 =2
Total1982

As you can see, the number 304125 is equivalent to 1,982 in base-ten. We will say 304125=198210. All of this may seem strange to you, but that’s only because you are so used to the only system that you’ve ever seen.

# (digits from the highest place down, base).  EDIT this list and re-run.
NUMERALS = [([3, 0, 4, 1, 2], 5),      # 30412 base 5  -> the book says 1982
            ([6, 2, 3, 4], 7),         # 6234  base 7  -> the book says 2181
            ([4, 1, 0, 6, 5], 7),      # Try it Now 3
            ([2, 1, 0, 2, 1], 3),      # Try it Now 5
            ([1, 0, 1, 1, 0, 1], 2)]   # binary

def expand(digits, base):
    if any(d >= base or d < 0 for d in digits):
        return None, f"illegal digit: base {base} only has the digits 0..{base - 1}"
    top = len(digits) - 1
    total = 0
    lines = []
    for i, d in enumerate(digits):
        p = top - i
        part = d * base ** p
        total += part
        lines.append(f"      {d} x {base}^{p} = {d} x {base ** p:<8} = {part:>8}")
    return total, "\n".join(lines)

for digits, base in NUMERALS:
    shown = "".join(str(d) for d in digits) if base <= 10 else ",".join(str(d) for d in digits)
    total, body = expand(digits, base)
    print(f"{shown} in base {base}")
    if total is None:
        print("   " + body + "\n")
        continue
    print(body)
    print(f"      {'':>18}total  = {total:>8}   so {shown}(base {base}) = {total}(base 10)")
    if base <= 10:
        print(f"      cross-check with Python's int(): {int(shown, base) == total}")
    print()

print("the trap the book warns about:")
print("   30412 in base 5 is NOT 'thirty thousand four hundred twelve'.")
print("   Base-5 place values go 1, 5, 25, 125, 625 - not 1, 10, 100, 1000, 10000.")

Converting from Base 10 to Other Bases

Converting from an unfamiliar base to the familiar decimal system is not that difficult once you get the hang of it. It’s only a matter of identifying each place and then multiplying each digit by the appropriate power. However, going the other direction can be a little trickier. Suppose you have a base-ten number and you want to convert to base-five. Let’s start with some simple examples before we get to a more complicated one.

In general, when converting from base-ten to some other base, it is often helpful to determine the highest power of the base that will divide into the given number at least once. In the last example, 52=25 is the largest power of five that is present in 69, so that was our starting point. If we had moved to 53=125, then 125 would not divide into 69 at least once.

Converting from Base 10 to Base b

  1. Find the highest power of the base b that will divide into the given number at least once and then divide.
  2. Write down the whole number part, then use the remainder from division in the next step.
  3. Repeat step two, dividing by the next highest power of the base b, writing down the whole number part (including 0), and using the remainder in the next step.
  4. Continue until the remainder is smaller than the base. This last remainder will be in the “ones” place.
  5. Collect all your whole number parts to get your number in base b notation.

Another Method For Converting From Base 10 to Other Bases

As you read the solution to this last example and attempted the “Try it Now” problems, you may have had to repeatedly stop and think about what was going on. The fact that you are probably struggling to follow the explanation and reproduce the process yourself is mostly due to the fact that the non-decimal systems are so unfamiliar to you. In fact, the only system that you are probably comfortable with is the decimal system.

As budding mathematicians, you should always be asking questions like “How could I simplify this process?” In general, that is one of the main things that mathematicians do…they look for ways to take complicated situations and make them easier or more familiar. In this section we will attempt to do that.

To do so, we will start by looking at our own decimal system. What we do may seem obvious and maybe even intuitive but that’s the point. We want to find a process that we readily recognize works and makes sense to us in a familiar system and then use it to extend our results to a different, unfamiliar system.

Let's start with the decimal number, 486310. We will convert this number to base 10. Yeah, I know it's already in base 10, but if you carefully follow what we're doing, you'll see it makes things work out very nicely with other bases later on. We first note that the highest power of 10 that will divide into 4863 at least once is 103=1000. In general, this is the first step in our new process; we find the highest power that a given base that will divide at least once into our given number.

We now divide 1000 into 4863:

4863 ÷ 1000 = 4.863

This says that there are four thousands in 4863 (obviously). However, it also says that there are 0.863 thousands in 4863. This fractional part is our remainder and will be converted to lower powers of our base (10). If we take that decimal and multiply by 10 (since that’s the base we’re in) we get the following:

0.863 × 10 = 8.63

Why multiply by 10 at this point? We need to recognize here that 0.863 thousands is the same as 8.63 hundreds. Think about that until it sinks in.

( 0.863 ) ( 1000 ) = 863

( 8.63 ) ( 100 ) = 863

These two statements are equivalent. So, what we are really doing here by multiplying by 10 is rephrasing or converting from one place (thousands) to the next place down (hundreds).

0.863 × 10 8.63

(Parts of Thousands)  × 10  Hundreds

What we have now is 8 hundreds and a remainder of 0.63 hundreds, which is the same as 6.3 tens. We can do this again with the 0.63 that remains after this first step.

0.63 × 10 6.3

Hundreds  × 10  Tens

So we have six tens and 0.3 tens, which is the same as 3 ones, our last place value.

Now here’s the punch line. Let’s put all of the together in one place:

Four line calculation pulling the digits of 4863 out one at a time, each circled whole number being the digit for that place, with an arrow carrying the decimal remainder down to the next line: 4863 divided by 1000 equals a circled 4 point 863; 0.863 times 10 equals a circled 8 point 63; 0.63 times 10 equals a circled 6 point 3; 0.3 times 10 equals a circled 3 point 0.

Note that in each step, the remainder is carried down to the next step and multiplied by 10, the base. Also, at each step, the whole number part, which is circled, gives the digit that belongs in that particular place. What is amazing is that this works for any base! So, to convert from a base 10 number to some other base, b, we have the following steps we can follow:

We will illustrate this procedure with some examples.

We can compare our result with what we saw earlier, or simply check with our calculator, and find that these two numbers really are equivalent to each other.

This last example shows the importance of using a calculator in certain situations and taking care to avoid clearing the calculator’s memory or display until you get to the very end of the process.

Adapted from Math in Society by David Lippman, hosted on LibreTexts (math.libretexts.org) and licensed under CC BY-SA 3.0. Changes were made. License: CC-BY-SA-3.0.

These eBooks are a prerelease and are not yet certified conformant with WCAG 2.1 AA or ADA Title II. Every page is built against an automated accessibility gate, and the published editions will meet ADA Title II requirements when they release in late September 2026. If something is unusable, please tell us.