The Arabic Numeral System

As you probably know, we use a weighted-digit positional notation called the Arabic system. ( As opposed to the Roman numeral system. ) The Arabic system is much more convenient for performing mathematical manipulations. It was actually invented in India, but first put to general practical use in the Arab world somewhat later when its value to science and commerce was recognized.

A number represented in the Arabic system is a weighted sum of products. Each digit is multiplied by a power of the radix, or base, depending on its position. The power on the radix decreases from left to right, and the digit just left of the radix point (decimal point in decimal numbers) always has a power of 0.

458.12 = 4 * 102 + 5 * 101 + 8 * 100 + 1 * 10-1 + 2 * 10-2

We use a radix of 10 because most of us have 10 fingers, and in the early days of the Arabic system, most math was done by counting fingers. Normal people assume the base is 10 when looking at a number. But we, as computer scientists are not limited to one base, and in fact other bases work better for us in many situations.

In our world, the example above is written as 458.1210 to avoid ambiguity. It could also be a hexadecimal (base 16) number, written as 458.1216. It cannot be an octal (base 8) number, since it contains the digit 8, and octal digits range from 0 to 7.

In a non-graphical text environment, we can indicate bases using an underscore, such as 458.12_10.

Note that the '.' in a number is only called the decimal point if the number is decimal. It is called the octal point in a base 8 number, the binary point in a base 2 number, etc.

Practice

Note

Be sure to thoroughly review the instructions in Section 2, “Practice Problem Instructions” before doing the practice problems below.
  1. What is a radix?

  2. Break down the decimal number 34.23_10 into a weighted sum.

  3. What do we call the '.' in 34.77_16?