The Full Wiki

Unary numeral system: Wikis


Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.


From Wikipedia, the free encyclopedia

Numeral systems by culture
Hindu-Arabic numerals
Eastern Arabic
Indian family
Western Arabic
East Asian numerals
Counting rods
Alphabetic numerals
Greek (Ionian)
Other systems
List of numeral system topics
Positional systems by base
Decimal (10)
1, 2, 3, 4, 5, 8, 12, 16, 20, 60 more…
Variations on the number eight in unary.
正 used in China, Japan and Korea.

The unary numeral system is the bijective base-1 numeral system. It is the simplest numeral system to represent natural numbers: in order to represent a number N, an arbitrarily chosen symbol representing 1 is repeated N times. For example, using the symbol | (a tally mark), the number 6 is represented as ||||||. The standard method of counting on one's fingers is effectively a unary system. Unary is most useful in counting or tallying ongoing results, such as the score in a game of sports, since no intermediate results need to be erased or discarded.

Marks are typically clustered in groups of five for legibility. This is similar to the practice of using digit group separators such as spaces or commas in the decimal system, to make large numbers such as 100,000,000 easier to read. The first or fifth mark in each group may be written at an angle to the others for easier distinction. Other example of a unary counting system clustered in counts of five is the Chinese, Japanese and Korean custom of writing the Chinese character, Korean Hanja character, or Japanese kanji character which takes 5 strokes to write, one stroke each time something is added. In the fourth example depicted at left, the fifth stroke "closes out" a group of five, and is sometimes nicknamed the "herringbone" method of counting.

In Brazil but also France, a variation of this system is commonly used: Instead of arranging "sticks" in linear fashion, such as in the "herringbone" method, four marks are arranged to form a square, with the fifth mark crossing the square diagonally.

Addition and subtraction are particularly simple in the unary system, as they involve little more than string concatenation. Multiplication and division are more cumbersome, however.

There is no explicit symbol representing zero in unary as there is in other traditional bases, so unary is a bijective numeration system with a single digit. If there were a 'zero' symbol, unary would effectively be a binary system. In a true unary system there is no way to explicitly represent none of something, though simply making no marks represents it implicitly. Even in advanced tallying systems like Roman numerals there is no zero character, instead the Latin word for 'nothing,' nullae, is used.

Compared to standard positional numeral systems, the unary system is inconvenient and is not used in practice for large calculations. It occurs in some decision problem descriptions in theoretical computer science (e.g. some P-complete problems), where it is used to "artificially" decrease the run-time or space requirements of a problem. For instance, the problem of integer factorization is suspected to require more than a polynomial function of the length of the input as run-time if the input is given in binary, but it only needs linear runtime if the input is presented in unary. But this is potentially misleading: using a unary input is slower for any given number, not faster; the distinction is that a binary (or larger base) input is proportional to the base 2 (or larger base) logarithm of the number while unary input is proportional to the number itself; so while the run-time and space requirement in unary looks better as function of the input size, it is a worse function of the number that the input represents.

For a real example of the unary system in ancient mathematics, see the Moscow Mathematical Papyrus, dating from circa 1800 BC.

Unary is used as part of some data compression algorithms; see Golomb coding for an example.

See also

External links



Got something to say? Make a comment.
Your name
Your email address