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 a 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: Roman and Chinese abacuses Stibitz relay calculators at Bell Labs from Model II onwards FACOM 128 relay calculators at Fujitsu 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.

Value 05-01234 bits 0 10-10000 1 10-01000 2 10-00100 3 10-00010 4 10-00001 5 01-10000 6 01-01000 7 01-00100 8 01-00010 9 01-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.

Value 1357-9 bits 0 0000-0 1 1000-0 2 1000-1 3 0100-0 4 0100-1 5 0010-0 6 0010-1 7 0001-0 8 0001-1 9 0000-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

Value p-5-421 bits 0 1-0-000 1 0-0-001 2 0-0-010 3 1-0-011 4 0-0-100 5 0-1-000 6 1-1-001 7 1-1-010 8 0-1-011 9 1-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.

Value p-5-qqq bits 0 1-0-000 1 0-0-001 2 1-0-011 3 0-0-111 4 1-0-110 5 0-1-000 6 1-1-001 7 0-1-011 8 1-1-111 9 0-1-110

See also

Binary number Chisanbop

FACOM 128 Finger binary Quinary Two-out-of-five code

References

Further reading (NB. Supersedes MIL-HDBK-231(AS) (1970-07-01).)