Biquinary code example
Japanese abacus. The right side represents 1,234,567,890 in bi-quinary: each column is one digit, with the lower beads representing "ones" and the upper beads "fives".

Bi-quinary coded decimal is a numeral encoding scheme used in many abacuses and in some early computers, notably the Colossus. The term bi-quinary indicates that the code comprises both a two-state (bi) and a five-state (quinary) component. The encoding resembles that used by many abacuses, with four beads indicating the five values either from 0 through 4 or from 5 through 9 and another bead indicating which of those ranges (which can alternatively be thought of as +5).

Several human languages, most notably Fula and Wolof also use biquinary systems. For example, the Fula word for 6, jowi e go'o, literally means five [plus] one. Roman numerals use a symbolic, rather than positional, bi-quinary base, even though Latin is completely decimal.

The Korean finger counting system Chisanbop uses a bi-quinary system, where each finger represents a one and a thumb represents a five, allowing one to count from 0 to 99 with two hands.

One advantage of one bi-quinary encoding scheme on digital computers is that it must have two bits set (one in the binary field and one in the quinary field), providing a built-in checksum to verify if the number is valid or not. (Stuck bits happened frequently with computers using mechanical relays.)

Examples

Several different representations of bi-quinary coded decimal have been used by different machines. The two-state component is encoded as one or two bits, and the five-state component is encoded using three to five bits. Some examples are:

IBM 650

The IBM 650 uses seven bits: two bi bits (0 and 5) and five quinary bits (0, 1, 2, 3, 4), with error checking.

Exactly one bi bit and one quinary bit is set in a valid digit. The bi-quinary encoding of the internal workings of the machine are evident in the arrangement of its lights – the bi bits form the top of a T for each digit, and the quinary bits form the vertical stem.

Value05-01234 bitsIBM 650 front panel while running, with active bits just discernible Close-up of IBM 650 indicators while running, with active bits visible
010-10000
110-01000
210-00100
310-00010
410-00001
501-10000
601-01000
701-00100
801-00010
901-00001

Remington Rand 409

The Remington Rand 409 has five bits: one quinary bit (tube) for each of 1, 3, 5, and 7 - only one of these would be on at the time. The fifth bi bit represented 9 if none of the others were on; otherwise it added 1 to the value represented by the other quinary bit. The machine was sold in the two models UNIVAC 60 and UNIVAC 120.

Value1357-9 bits
00000-0
11000-0
21000-1
30100-0
40100-1
50010-0
60010-1
70001-0
80001-1
90000-1

UNIVAC Solid State

The UNIVAC Solid State uses four bits: one bi bit (5), three binary coded quinary bits (4 2 1) and one parity check bit

Valuep-5-421 bits
01-0-000
10-0-001
20-0-010
31-0-011
40-0-100
50-1-000
61-1-001
71-1-010
80-1-011
91-1-100

UNIVAC LARC

The UNIVAC LARC has four bits: one bi bit (5), three Johnson counter-coded quinary bits and one parity check bit.

Valuep-5-qqq bits
01-0-000
10-0-001
21-0-011
30-0-111
41-0-110
50-1-000
61-1-001
70-1-011
81-1-111
90-1-110

See also

Further reading