Bi-quinary coded decimal
Bi-quinary coded decimal is a numeral encoding scheme used in many abacuses and in some early computers, including 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 abaci, with four beads indicating either 0 through 4 or 5 through 9 and another bead indicating which of those ranges.
Several human languages, most notably Khmer and Wolof, also use biquinary systems. For example, the Khmer word for 6, pram muoy, literally means five [plus] one. The numerals from 0 to 9 in Japanese Sign Language is based on bi-quinary, with the thumb acting as 5 units, and the rest of the fingers each standing for 1 unit.
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
- IBM 650 – seven bits
- Two bi bits: 0 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. In the pictures of the front panel below and in close-up, the bi-quinary encoding of the internal workings of the machine are evident in the arrangement of the lights – the bi bits form the top of a T for each digit, and the quinary bits form the vertical stem.
- (the machine was running when the photograph was taken and the active bits are visible in the close-up and just discernible in the full panel picture)
- Remington Rand 409 - 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.
- (sold in the two models UNIVAC 60 and UNIVAC 120)
- UNIVAC Solid State – four bits
- One bi bit: 5, three binary coded quinary bits: 4 2 1 and one parity check bit
- UNIVAC LARC – four bits
- One bi bit: 5, three Johnson counter-coded quinary bits and one parity check bit