Non-standard positional numeral systems
Non-standard positional numeral systems here designates numeral systems that may loosely be described as positional systems, but that do not entirely comply with the following description of standard positional systems:
- In a standard positional numeral system, the base b is a positive integer, and b different numerals are used to represent all non-negative integers. The standard set of numerals contains the b values 0, 1, 2, etc., up to b − 1, but the value is weighted according to the position of the digit in a number. The value of a digit string like pqrs in base b is given by the polynomial form
- .
- The numbers written in superscript represent the powers of the base used.
- For instance, in hexadecimal (b=16), using the numerals A for 10, B for 11 etc., the digit string 7A3F means
- ,
- which written in our normal decimal notation is 31295.
- Upon introducing a radix point "." and a minus sign "−", real numbers can be represented up to arbitrary accuracy.
This article summarizes facts on some non-standard positional numeral systems. In most cases, the polynomial form in the description of standard systems still applies.
Some historical numeral systems may be described as non-standard positional numeral systems. E.g., the sexagesimal Babylonian notation and the Chinese rod numerals, which can be classified as standard systems of base 60 and 10, respectively, counting the space representing zero as a numeral, can also be classified as non-standard systems, more specifically, mixed-base systems with unary components, considering the primitive repeated glyphs making up the numerals.
However, most of the non-standard systems listed below have never been intended for general use, but were devised by mathematicians or engineers for special academic or technical use.
Bijective numeration systems
A bijective numeral system with base b uses b different numerals to represent all non-negative integers. However, the numerals have values 1, 2, 3, etc. up to and including b, whereas zero is represented by an empty digit string. For example, it is possible to have decimal without a zero.
Base one (unary numeral system)
Unary is the bijective numeral system with base b = 1. In unary, one numeral is used to represent all positive integers. The value of the digit string pqrs given by the polynomial form can be simplified into p + q + r + s since bn = 1 for all n. Non-standard features of this system include:
- The value of a digit does not depend on its position. Thus, one can easily argue that unary is not a positional system at all.
- Introducing a radix point in this system will not enable representation of non-integer values.
- The single numeral represents the value 1, not the value 0 = b − 1.
- The value 0 cannot be represented (or is implicitly represented by an empty digit string).
Signed-digit representation
In some systems, while the base is a positive integer, negative digits are allowed. Non-adjacent form is a particular system where the base is b = 2. In the balanced ternary system, the base is b = 3, and the numerals have the values −1, 0 and +1 (rather than 0, 1 and 2 as in the standard ternary system, or 1, 2 and 3 as in the bijective ternary system).
Gray code
The reflected binary code, also known as the Gray code, is closely related to binary numbers, but some bits are inverted, depending on the parity of the higher order bits.
Bases that are not positive integers
A few positional systems have been suggested in which the base b is not a positive integer. As with positive bases, it is not useful to use −b or |b| etc. as a digit.
Negative base
Negative-base systems include negabinary, negaternary and negadecimal, with bases −2, −3, and −10 respectively; in base −b the number of different numerals used is b. Due to the properties of negative numbers raised to powers, all integers, positive and negative, can be represented without a sign.
Complex base
In a purely imaginary base bi system, where b is an integer larger than 1 and i the imaginary unit, the standard set of digits consists of the b2 numbers from 0 to b2 − 1. It can be generalized to other complex bases, giving rise to the Complex-base systems.
Non-integer base
In Non-integer bases, the number of different numerals used clearly cannot be b. Instead, the numerals 0 to are used. For example, Golden ratio base (phinary), uses the 2 different numerals 0 and 1.
Mixed bases
It is sometimes convenient to consider positional numeral systems where the weights associated with the positions do not form a geometric sequence 1, b, b2, b3, etc., starting from the least significant position, as given in the polynomial form. In a mixed-radix system such as the factorial number system, the weights form a sequence where each weight is an integral multiple of the previous one, and the number of permitted digit values varies accordingly from position to position.
For calendrical use, the Mayan numeral system was a mixed-radix system, since one of its positions represents a multiplication by 18 rather than 20, in order to fit a 360-day calendar. Also, giving an angle in degrees, minutes and seconds (with decimals), or a time in days, hours, minutes and seconds, can be interpreted as mixed-radix systems.
Sequences where each weight is not an integral multiple of the previous weight may also be used, but then every integer may not have a unique representation. For example, Fibonacci coding uses the digits 0 and 1, weighted according to the Fibonacci sequence (1, 2, 3, 5, 8, ...); a unique representation of all non-negative integers may be ensured by forbidding consecutive 1s. Binary-coded decimal (BCD) are mixed base systems where bits (binary digits) are used to express decimal digits. E.g., in 1001 0011, each group of four bits may represent a decimal digit (in this example 9 and 3, so the eight bits combined represent decimal 93). The weights associated with these 8 positions are 80, 40, 20, 10, 8, 4, 2 and 1. Uniqueness is ensured by requiring that, in each group of four bits, if the first bit is 1, the next two must be 00.
Asymmetric numeral systems
Asymmetric numeral systems are systems used in computer science where each digit can have different bases, usually non-integer. In these, not only are the bases of a given digit different, they can be also nonuniform and altered in an asymmetric way to encode information more efficiently. They are optimized for chosen non-uniform probability distributions of symbols, using on average approximately Shannon entropy bits per symbol.[1]
External links
References
- J. Duda, K. Tahboub, N. J. Gadil, E. J. Delp, The use of asymmetric numeral systems as an accurate replacement for Huffman coding, Picture Coding Symposium, 2015.