Bi-quinary coded decimal explained

Bi-quinary coded decimal is a numeral encoding scheme used in many abacuses and in some early computers, including the Colossus.[1] 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.

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

Further reading

Notes and References

  1. Web site: Why Use Binary? - Computerphile . https://ghostarchive.org/varchive/youtube/20211212/thrx3SBEpL8. 2021-12-12 . live. YouTube . 2015-12-04 . 2020-12-10.