Numeral system

A numeral system is a writing system for expressing numbers; that is, a mathematical notation for representing numbers of a given set, using digits or other symbols in a consistent manner.
The same sequence of symbols may represent different numbers in different numeral systems. For example, "11" represents the number eleven in the decimal or base-10 numeral system (today, the most common system globally), the number three in the binary or base-2 numeral system (used in modern computers), and the number two in the unary numeral system (used in tallying scores).
The number the numeral represents is called its value. Additionally, not all number systems can represent the same set of numbers; for example, Roman, Greek, and Egyptian numerals don't have a representation of the number zero.
Ideally, a numeral system will:
For example, the usual decimal representation gives every nonzero natural number a unique representation as a finite sequence of digits, beginning with a non-zero digit.
Numeral systems are sometimes called number systems, but that name is ambiguous, as it could refer to different systems of numbers, such as the system of real numbers, the system of complex numbers, various hypercomplex number systems, the system of p-adic numbers, etc. Such systems are, however, not the topic of this article.
Early numeral systems varied across civilizations, with the Babylonians using a base-60 system, the Egyptians developing hieroglyphic numerals, and the Chinese employing rod numerals. The Mayans independently created a vigesimal (base-20) system that included a symbol for zero. Indian mathematicians, such as Brahmagupta in the 7th century, played a crucial role in formalizing arithmetic rules and the concept of zero, which was later refined by scholars like Al-Khwarizmi in the Islamic world. As these numeral systems evolved, the efficiency of positional notation and the inclusion of zero helped shape modern numerical representation, influencing global commerce, science, and technology. The first true written positional numeral system is considered to be the Hindu–Arabic numeral system. This system was established by the 7th century in India, but was not yet in its modern form because the use of the digit zero had not yet been widely accepted. Instead of a zero sometimes the digits were marked with dots to indicate their significance, or a space was used as a placeholder. The first widely acknowledged use of zero was in 876. The original numerals were very similar to the modern ones, even down to the glyphs used to represent digits.
By the 13th century, Western Arabic numerals were accepted in European mathematical circles (Fibonacci used them in his Liber Abaci). Initially met with resistance, Hindu–Arabic numerals gained wider acceptance in Europe due to their efficiency in arithmetic operations, particularly in banking and trade. The invention of the printing press in the 15th century helped standardize their use, as printed mathematical texts favored this system over Roman numerals. They began to enter common use in the 15th century. By the end of the 20th century virtually all non-computerized calculations in the world were done with Arabic numerals, which have replaced native numeral systems in most cultures. By the 17th century, the system had become dominant in scientific works, influencing mathematical advancements by figures like Isaac Newton and René Descartes. In the 19th and 20th centuries, the widespread adoption of Arabic numerals facilitated global finance, engineering, and technological developments, forming the foundation for modern computing and digital data representation.
The exact age of the Maya numerals is unclear, but it is possible that it is older than the Hindu–Arabic system. The system was vigesimal (base 20), so it has twenty digits. The Mayas used a shell symbol to represent zero. Numerals were written vertically, with the ones place at the bottom. The Mayas had no equivalent of the modern decimal separator, so their system could not represent fractions.
The Thai numeral system is identical to the Hindu–Arabic numeral system except for the symbols used to represent digits. The use of these digits is less common in Thailand than it once was, but they are still used alongside Arabic numerals.
The rod numerals, the written forms of counting rods once used by Chinese and Japanese mathematicians, are a decimal positional system used for performing decimal calculations. Rods were placed on a counting board and slid forwards or backwards to change the decimal place. The Sūnzĭ Suànjīng, a mathematical treatise dated to between the 3rd and 5th centuries AD, provides detailed instructions for the system, which is thought to have been in use since at least the 4th century BC. Zero was not initially treated as a number, but as a vacant position. Later sources introduced conventions for the expression of zero and negative numbers. The use of a round symbol 〇 for zero is first attested in the Mathematical Treatise in Nine Sections of 1247 AD. The origin of this symbol is unknown; it may have been produced by modifying a square symbol. The Suzhou numerals, a descendant of rod numerals, are still used today for some commercial purposes.
The most commonly used system of numerals is decimal. Indian mathematicians are credited with developing the integer version, the Hindu–Arabic numeral system. Aryabhata of Kusumapura developed the place-value notation in the 5th century and a century later Brahmagupta introduced the symbol for zero. The system slowly spread to other surrounding regions like Arabia due to their commercial and military activities with India. Middle-Eastern mathematicians extended the system to include negative powers of 10 (fractions), as recorded in a treatise by Syrian mathematician Abu'l-Hasan al-Uqlidisi in 952–953, and the decimal point notation was introduced by Sind ibn Ali, who also wrote the earliest treatise on Arabic numerals. The Hindu–Arabic numeral system then spread to Europe due to merchants trading, and the digits used in Europe are called Arabic numerals, as they learned them from the Arabs.
The simplest numeral system is the unary numeral system, in which every natural number is represented by a corresponding number of symbols. If the symbol / is chosen, for example, then the number seven would be represented by ///////. Tally marks represent one such system still in common use. The unary system is only useful for small numbers, although it plays an important role in theoretical computer science. Elias gamma coding, which is commonly used in data compression, expresses arbitrary-sized numbers by using unary to indicate the length of a binary numeral.
The unary notation can be abbreviated by introducing different symbols for certain new values. Very commonly, these values are powers of 10; so for instance, if / stands for one, − for ten and + for 100, then the number 304 can be compactly represented as +++ //// and the number 123 as + − − /// without any need for zero. This is called sign-value notation. The ancient Egyptian numeral system was of this type, and the Roman numeral system was a modification of this idea.
More useful still are systems which employ special abbreviations for repetitions of symbols; for example, using the first nine letters of the alphabet for these abbreviations, with A standing for "one occurrence", B "two occurrences", and so on, one could then write C+ D/ for the number 304 (the number of these abbreviations is sometimes called the base of the system). This system is used when writing Chinese numerals and other East Asian numerals based on Chinese. The number system of the English language is of this type ("three hundred [and] four"), as are those of other spoken languages, regardless of what written systems they have adopted. However, many languages use mixtures of bases, and other features, for instance 79 in French is soixante dix-neuf (60 + 10 + 9) and in Welsh is pedwar ar bymtheg a thrigain (4 + (5 + 10) + (3 × 20)) or (somewhat archaic) pedwar ugain namyn un (4 × 20 − 1). In English, one could say "four score less one", as in the famous Gettysburg Address representing "87 years ago" as "four score and seven years ago".
More elegant is a positional system, also known as place-value notation. The positional systems are classified by their base or radix, which is the number of symbols called digits used by the system. In base 10, ten different digits 0, ..., 9 are used and the position of a digit is used to signify the power of ten that the digit is to be multiplied with, as in 304 = 3×100 + 0×10 + 4×1 or more precisely 3×10 + 0×10 + 4×10. Zero, which is not needed in the other systems, is of crucial importance here, in order to be able to "skip" a power. The Hindu–Arabic numeral system, which originated in India and is now used throughout the world, is a positional base 10 system.
Arithmetic is much easier in positional systems than in the earlier additive ones; furthermore, additive systems need a large number of different symbols for the different powers of 10; a positional system needs only ten different symbols (assuming that it uses base 10).
The positional decimal system is presently universally used in human writing. The base 1000 is also used (albeit not universally), by grouping the digits and considering a sequence of three decimal digits as a single digit. This is the meaning of the common notation 1,000,234,567 used for very large numbers.
In computers, the main numeral systems are based on the positional system in base 2 (binary numeral system), with two binary digits, 0 and 1. Positional systems obtained by grouping binary digits by three (octal numeral system) or four (hexadecimal numeral system) are commonly used. For very large integers, bases 2 or 2 (grouping binary digits by 32 or 64, the length of the machine word) are used, as, for example, in GMP.
In certain biological systems, the unary coding system is employed. Unary numerals used in the neural circuits responsible for birdsong production. The nucleus in the brain of the songbirds that plays a part in both the learning and the production of bird song is the HVC (high vocal center). The command signals for different notes in the birdsong emanate from different points in the HVC. This coding works as space coding which is an efficient strategy for biological circuits due to its inherent simplicity and robustness.
The numerals used when writing numbers with digits or symbols can be divided into two types that might be called the arithmetic numerals (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) and the geometric numerals (1, 10, 100, 1000, 10000 ...), respectively. The sign-value systems use only the geometric numerals and the positional systems use only the arithmetic numerals. A sign-value system does not need arithmetic numerals because they are made by repetition (except for the Ionic system), and a positional system does not need geometric numerals because they are made by position. However, the spoken language uses both arithmetic and geometric numerals.
In some areas of computer science, a modified base k positional system is used, called bijective numeration, with digits 1, 2, ..., k (k ≥ 1), and zero being represented by an empty string. This establishes a bijection between the set of all such digit-strings and the set of non-negative integers, avoiding the non-uniqueness caused by leading zeros. Bijective base-k numeration is also called k-adic notation, not to be confused with p-adic numbers. Bijective base 1 is the same as unary.
In a positional base b numeral system (with b a natural number greater than 1 known as the radix or base of the system), b basic symbols (or digits) corresponding to the first b natural numbers including zero are used. To generate the rest of the numerals, the position of the symbol in the figure is used. The symbol in the last position has its own value, and as it moves to the left its value is multiplied by b.
For example, in the decimal system (base 10), the numeral 4327 means (4×10) + (3×10) + (2×10) + (7×10), noting that 10 = 1.
In general, if b is the base, one writes a number in the numeral system of base b by expressing it in the form anb + an − 1b + an − 2b + ... + a0b and writing the enumerated digits anan − 1an − 2 ... a0 in descending order. The digits are natural numbers between 0 and b − 1, inclusive.
If a text (such as this one) discusses multiple bases, and if ambiguity exists, the base (itself represented in base 10) is added in subscript to the right of the number, like this: numberbase. Unless specified by context, numbers without subscript are considered to be decimal.
By using a dot to divide the digits into two groups, one can also write fractions in the positional system. For example, the base 2 numeral 10.11 denotes 1×2 + 0×2 + 1×2 + 1×2 = 2.75.
In general, numbers in the base b system are of the form:
The numbers b and b are the weights of the corresponding digits. The position k is the logarithm of the corresponding weight w, that is k = log b ⁡ w = log b ⁡ b k {\displaystyle k=\log _{b}w=\log _{b}b^{k}} . The highest used position is close to the order of magnitude of the number.
The number of tally marks required in the unary numeral system for describing the weight would have been w. In the positional system, the number of digits required to describe it is only k + 1 = log b ⁡ w + 1 {\displaystyle k+1=\log _{b}w+1} , for k ≥ 0. For example, to describe the weight 1000 then four digits are needed because log 10 ⁡ 1000 + 1 = 3 + 1 {\displaystyle \log _{10}1000+1=3+1} . The number of digits required to describe the position is log b ⁡ k + 1 = log b ⁡ log b ⁡ w + 1 {\displaystyle \log _{b}k+1=\log _{b}\log _{b}w+1} (in positions 1, 10, 100,... only for simplicity in the decimal example).
A number has a terminating or repeating expansion if and only if it is rational; this does not depend on the base. A number that terminates in one base may repeat in another (thus 0.310 = 0.0100110011001...2). An irrational number stays aperiodic (with an infinite number of non-repeating digits) in all integral bases. Thus, for example in base 2, π = 3.1415926...10 can be written as the aperiodic 11.001001000011111...2.
Putting overscores, n, or dots, ṅ, above the common digits is a convention used to represent repeating rational expansions. Thus:
If b = p is a prime number, one can define base-p numerals whose expansion to the left never stops; these are called the p-adic numbers.
It is also possible to define a variation of base b in which digits may be positive or negative; this is called a signed-digit representation.
More general is using a mixed radix notation (here written little-endian) like a 0 a 1 a 2 {\displaystyle a_{0}a_{1}a_{2}} for a 0 + a 1 b 1 + a 2 b 1 b 2 {\displaystyle a_{0}+a_{1}b_{1}+a_{2}b_{1}b_{2}} , etc.
This is used in Punycode, one aspect of which is the representation of a sequence of non-negative integers of arbitrary size in the form of a sequence without delimiters, of "digits" from a collection of 36: a–z and 0–9, representing 0–25 and 26–35 respectively. There are also so-called threshold values ( t 0 , t 1 , … {\displaystyle t_{0},t_{1},\ldots } ) which are fixed for every position in the number. A digit a i {\displaystyle a_{i}} (in a given position in the number) that is lower than its corresponding threshold value t i {\displaystyle t_{i}} means that it is the most-significant digit, hence in the string this is the end of the number, and the next symbol (if present) is the least-significant digit of the next number.
For example, if the threshold value for the first digit is b (i.e. 1) then a (i.e. 0) marks the end of the number (it has just one digit), so in numbers of more than one digit, first-digit range is only b–9 (i.e. 1–35), therefore the weight b1 is 35 instead of 36. More generally, if tn is the threshold for the n-th digit, it is easy to show that b n + 1 = 36 − t n {\displaystyle b_{n+1}=36-t_{n}} . Suppose the threshold values for the second and third digits are c (i.e. 2), then the second-digit range is a–b (i.e. 0–1) with the second digit being most significant, while the range is c–9 (i.e. 2–35) in the presence of a third digit. Generally, for any n, the weight of the (n + 1)-th digit is the weight of the previous one times (36 − threshold of the n-th digit). So the weight of the second symbol is 36 − t 0 = 35 {\displaystyle 36-t_{0}=35} . And the weight of the third symbol is 35 ( 36 − t 1 ) = 35 ⋅ 34 = 1190 {\displaystyle 35(36-t_{1})=35\cdot 34=1190} .
So we have the following sequence of the numbers with at most 3 digits:
a (0), ba (1), ca (2), ..., 9a (35), bb (36), cb (37), ..., 9b (70), bca (71), ..., 99a (1260), bcb (1261), ..., 99b (2450).
Unlike a regular n-based numeral system, there are numbers like 9b where 9 and b each represent 35; yet the representation is unique because ac and aca are not allowed – the first a would terminate each of these numbers.
The flexibility in choosing threshold values allows optimization for number of digits depending on the frequency of occurrence of numbers of various sizes.
The case with all threshold values equal to 1 corresponds to bijective numeration, where the zeros correspond to separators of numbers with digits which are non-zero.