A numeration system, or numeral system, is an orderly method in which each numeral of the system is associated with a unique number. Thomas Harriot (1560-1621) is recognized as having given the first generalized treatment of positional number systems. However, his work went unpublished, thus allowing Gottfried Wilhelm von Leibniz (1646-1716) to be credited for the achievement. Both men independently developed the theory of positional number systems.
The decimal position system, which uses ten as its base number, has become the dominant numeration system in the world. Three other important types of number systems are binary, hexadecimal, and octal numeration. The "binary number system" is a positional representation of numbers based on the number 2 and the powers of 2. The "octal number system" is a positional representation of numbers based on the number 8 and the powers of 8, and the "hexadecimal number system" is a positional representation of numbers based on the number 16 and the powers of 16. These number systems find their most extensive use in relation to digital computing.
Any real number x can be represented in a positional number system of base "b" by the expression x = anbn + an - 1bn - 1 + ... + a1b1 + a0b0 + a-1b-1 + ... + a-(n-1)b-(n-1) + a-nb-n. For the number systems considered here, b = 2 in the binary system, b = 8 in the octal system, and b = 16 in the hexadecimal system. The coefficients of the general equation for x given above, i.e., the values ai, where "i" is a positive integer, may take on the numeric values of "0" through "b-1". So, for instance, the values of ai in the binary number system may be 0 or 1, while ai in the octal number system may take on any of the values 0 through 7.
The binary, or dyadic (dual), number system is based on the powers of the base 2, that is (..., 128, 64, 32, 16, 8, 4, 2, 1, 1/2, 1/4,...) = (..., 27, 26, 25, 24, 23, 22, 21, 20, 2-1, 2-2,...). The successive binary integers are 0, 1, 10, 11, 100, 101, 110, 111, 1000, ... etc. The binary fractions are 0.1 (1/2), 0.01 (1/4), 0.001 (1/8), and so forth. In the binary system "b = 2" and the digits ai are either "0" or "1". As an example of expressing a number in binary format, consider the number (in decimal notation) "83". In the binary system it is represented as "1010011". Using the binary numeric system described previously it is seen that 1010011 = (1 x 26) + (0 x 25) + (1 x 24) + (0 x 23) + (0 x 22) + (1 x 21) + (1 x 20). In decimal notation this expression reads: (1 x 64) + (0 x 32) + (1 x 16) + (0 x 8) + (0 x 4) +(1 x 2) + (1 x 1) = 64 + 0 + 16 + 0 + 0 + 2 + 1 = 83.
Of particular technical importance for the binary system is its common usage in digital computers. The binary system requires many more positions than the decimal system. However, with regards to information theory and computer technology, the binary system is much more convenient and reliable than the decimal system since the binary digits "0" and "1" can easily be converted to "off" and "on", "close" and "open", "negative" and "positive", to mention a few. Moreover, a number like 1,234 in base 10 appears more compact than the binary equivalent 10011000010. But since 10 states are required per digit in base 10, a 4-digit number requires 10 x 10 x 10 x 10 = 10,000 states, while the binary representation only requires 211 = 2,048 states.
The octal, or octenary, number system is based on the powers of the base 8, that is (..., 2097152, 262144, 32768, 4096, 512, 64, 8, 1, 1/8, 1/64,...) = (..., 87, 86, 85, 84, 83, 82, 81, 80, 8-1, 8-2,...). In the octal system "b = 8" and the digits ai have the values "0, 1, 2, 3, 4, 5, 6, 7". The decimal number "83" is written "123" in the octal system. Using the octal numeric system laid out previously we see that 123 (octal) = "(1 x 82) + (2 x 81) + (3 x 80)". In decimal notation this expression reads: (1 x 64) + (2 x 8) + (3 x 1) = 64 + 16 + 3 = 83.
The hexadecimal, or sexadecimal, number system is based on the number 16 and the powers of the base 16, that is (..., 1048576, 65536, 4096, 256, 16, 1, 1/16, 1/256,...) = (..., 65, 64, 63, 62, 61, 60, 6-1, 6-2,...). In the hexadecimal system "b = 16" and the digits ai have the values "0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F". This notation is to be understood as follows: A represents ten, B represents eleven, C represents twelve, and so forth to the letter F, which represents fifteen. As an example of expressing a number in hexadecimal format, consider the number (in decimal form) "283.75". In the hexadecimal system it is represented as "11B.C". Using the hexadecimal numeric scheme described previously we see that 11B.C = (1 x 162) + (1 x 161) + (B x 160) + (C x 16-1). In decimal notation this expression reads: (1 x 256) + (1 x 16) + (11 x 1) + (12 x 1/16) = 256 + 16 + 11 + 0.75= 283.75.
In computer design, the hexadecimal numbering system is used as a convenient method for representing large binary numbers, where numbers often consist of long strings of zeros and ones. Thus, each hexadecimal digit stands for four binary digits. As an example, the number 101100010111110100 in binary notation can be converted to hexadecimal notation by dividing the number into groups of four binary digits, starting from the right, and replacing each group by the corresponding hexadecimal symbol. Where the left-hand group is incomplete, zeros are filled in as required. The result is 0010/1100/0101/1111/0100 = 2/C/5/F/4 = (2C5F4)16, where the subscript "16" next to the number denotes hexadecimal format.
This is the complete article, containing 1,038 words
(approx. 3 pages at 300 words per page).