Bi-quinary coded decimal: Difference between revisions

Content deleted Content added
+ref
WOSlinkerBot (talk | contribs)
m remove un-needed options from tables
 
(28 intermediate revisions by 18 users not shown)
Line 2:
{{Use dmy dates|date=May 2019|cs1-dates=y}}
{{anchor|2-out-of-7|quibinary}}<!-- parked anchor for class of 2-out-of-7 codes related to biquinary code and quibinary codes <ref name="MIL_1991"/> has some info on them to be incorporated -->
[[File:Code Biquinaer.svg|thumb|right|One possible binary representation of biquinary code<ref name="Ledley_1960"/>]]
[[File:Code Biquinaer reflektiert.svg|thumb|Reflected biquinary code]]
'''Bi-quinary coded decimal''' is a [[numeral system|numeral encoding scheme]] used in many [[abacus]]es and in some early computers, including the [[Colossus computer|Colossus]].<ref>{{cite web|url=https://www.youtube.com/watch?v=thrx3SBEpL8&list=WL&index=17&t=0s |title=Why Use Binary? - Computerphile |publisher=YouTube |date=2015-12-04 |access-date=2020-12-10}}</ref> The term '''''bi-quinary''''' indicates that the code comprises both a two-state (''bi'') and a five-state (''quin''ary) component. The encoding resembles that used by many abacuses, with four beads indicating either 0 through 4 or 5 through 9 and another bead indicating which of those ranges.
 
{{Multiple image
Several human languages, most notably [[Khmer numerals|Khmer]] and [[Wolof language|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. [[Roman numerals]] use a symbolic, rather than positional, bi-quinary base, even though [[Latin]] is completely decimal.
| image1 = Code_Biquinaer.svg
| caption1 = Biquinary code example<ref name="Ledley_1960"/>
| image2 = Code Biquinaer reflektiert.svg
| caption2 = Reflected biquinary code
| total_width = 200
}}
 
[[Image:Soroban.JPG|349x349px|thumb|[[Soroban|Japanese abacus]]. The right side represents {{formatnum:1234567890}} 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 system|numeral encoding scheme]] used in many [[abacus]]es and in some [[Early computer|early computers]], includingnotably the [[Colossus computer|Colossus]].<ref>{{cite web|url=https://www.youtube.com/watch?v=thrx3SBEpL8&list=WL&index=17&t=0s |archive-url=https://ghostarchive.org/varchive/youtube/20211212/thrx3SBEpL8| archive-date=2021-12-12 |url-status=live|title=Why Use Binary? - Computerphile |publisher=YouTube |date=2015-12-04 |access-date=2020-12-10}}{{cbignore}}</ref> The term '''''bi-quinary''''' indicates that the code comprises both a two-state (''bi'') and a five-state (''quin''ary) 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 [[KhmerFula numeralslanguage|KhmerFula]] and [[Wolof language|Wolof]], also use biquinary systems. For example, the KhmerFula word for 6, ''pramjowi muoye go'o'', 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. [[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 [[Relay|mechanical relays]].)
 
==Examples==
 
[[File:RomanAbacusRecon.jpg|thumb|Copy of a [[Roman abacus]]]]
[[File:abacus 6.png|thumb|[[Suanpan]] (the number represented in the picture is 6,302,715,408)]]
Several different representations of bi-quinary coded decimal have been used by different machines. The two-state component is encoded as one or two [[bit]]s, and the five-state component is encoded using three to five bits. Some examples are:
* Roman and Chinese [[abacus]]es
* [[George Stibitz|Stibitz]]<ref name="Stibitz_1957"/><!-- In this book Stibitz claims that he invented this code some years after inventing Excess-3 --> relay calculators at Bell Labs from [[Bell Labs#Calculators|Model II]] onwards
* [[FACOM 128]] relay calculators at [[Fujitsu]]
* [[===IBM 650]] – seven bits===
{{anchor|IBM650code}}<!--link from IBM 650 article-->
The [[IBM 650]] uses seven bits: Twotwo ''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. 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)
 
: 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, theThe bi-quinary encoding of the internal workings of the machine are evident in the arrangement of theits lights – the ''bi'' bits form the top of a T for each digit, and the ''quinary'' bits form the vertical stem.
{| cellpadding="5" border="1" style="margin: 0 0 0 4em;"
 
{| class="wikitable"
|-
|! Value || 05-01234 bits<ref name="Ledley_1960"/>
| rowspan="11" | [[File:IBM-650-panel.jpg|thumb|center|IBM 650 front panel while running, with active bits just discernible]]
[[File:IBM 650 panel close-up of bi-quinary indicators.jpg|thumb|center|Close-up of IBM 650 indicators while running, with active bits visible]]
<center>IBM 650 front panel</center>
[[File:IBM 650 panel close-up of bi-quinary indicators.jpg|thumb|Close-up of IBM 650 indicators]]
|-
| 0 || 10-10000
Line 47 ⟶ 59:
| 9 || 01-00001
|}
* [[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]])
 
* [[===Remington Rand 409]] - five bits===
{| cellpadding="5" border="1" style="margin: 0 0 0 4em;"
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]].
 
{| class="wikitable"
|-
|! Value || 1357-9 bits
|-
| 0 || 0000-0
Line 76 ⟶ 87:
| 9 || 0000-1
|}
* [[===UNIVAC Solid State]] – four bits===
The [[UNIVAC Solid State]] uses four bits:One one ''bi'' bit: (5), three binary coded ''quinary'' bits: (4 2 1)<ref name="Steinbuch_1962"/><ref name="Steinbuch-Wagner_1967"/><ref name="Steinbuch-Weber-Heinemann_1974"/><ref name="Dokter_1973"/><ref name="Dokter_1975"/><ref name="Savard_2018_Decimal"/> and one [[parity bit|parity check bit]]
 
{| class="wikitable"
{| cellpadding="5" border="1" style="margin: 0 0 0 4em;"
|-
|! Value || p-5-421 bits
|-
| 0 || 1-0-000
Line 103 ⟶ 114:
| 9 || 1-1-100
|}
===UNIVAC LARC===
* [[UNIVAC LARC]] – four bits<ref name="Savard_2018_Decimal"/>
The [[UNIVAC LARC]] has four bits:One<ref name="Savard_2018_Decimal"/> one ''bi'' bit: (5), three [[Johnson counter]]-coded ''quinary'' bits and one parity check bit.
 
{| class="wikitable"
{| cellpadding="5" border="1" style="margin: 0 0 0 4em;"
|-
|! Value || p-5-qqq bits
|-
| 0 || 1-0-000
Line 145 ⟶ 156:
<ref name="Steinbuch-Wagner_1967">{{cite book |title=Taschenbuch der Nachrichtenverarbeitung |language=de |editor-first1=Karl W. |editor-last1=Steinbuch |editor-link1=Karl W. Steinbuch |editor-first2=Siegfried W. |editor-last2=Wagner |author-first1=Erich R. |author-last1=Berger |author-first2=Wolfgang |author-last2=Händler |author-link2=Wolfgang Händler |date=1967 |orig-year=1962 |edition=2 |publisher=[[Springer-Verlag OHG]] |___location=Berlin, Germany |id=Title No. 1036 |lccn=67-21079}}</ref>
<ref name="Steinbuch-Weber-Heinemann_1974">{{cite book |title=Taschenbuch der Informatik - Band II - Struktur und Programmierung von EDV-Systemen |language=de |editor-first1=Karl W. |editor-last1=Steinbuch |editor-link1=Karl W. Steinbuch |editor-first2=Wolfgang |editor-last2=Weber <!-- |editor-link2=:de:Wolfgang Weber (Ingenieur)? --> |editor-first3=Traute |editor-last3=Heinemann |date=1974 |orig-year=1967 |edition=3 |volume=2 |work=Taschenbuch der Nachrichtenverarbeitung |publisher=[[Springer-Verlag]] |___location=Berlin, Germany |isbn=3-540-06241-6 |lccn=73-80607}}</ref>
<ref name="Dokter_1973">{{cite book |title=Digital Electronics |author-first1=Folkert |author-last1=Dokter |author-first2=Jürgen |author-last2=Steinhauer |date=1973-06-18 |series=Philips Technical Library (PTL) / Macmillan Education |publisher=[[The Macmillan Press Ltd.]] / [[N. V. Philips' Gloeilampenfabrieken]] |edition=Reprint of 1st English |___location=Eindhoven, Netherlands |sbn=333-13360-9 |isbn=978-1-349-01419-4 |doi=10.1007/978-1-349-01417-0 |url=https://books.google.com/books?id=hlRdDwAAQBAJ |access-date=2020-05-11 }}{{Dead link|date=October 2023 |bot=InternetArchiveBot |fix-attempted=yes }} (270 pages) (NB. This is based on a translation of volume I of the two-volume German edition.)</ref>
<ref name="Dokter_1975">{{cite book |author-first1=Folkert |author-last1=Dokter |author-first2=Jürgen |author-last2=Steinhauer |title=Digitale Elektronik in der Meßtechnik und Datenverarbeitung: Theoretische Grundlagen und Schaltungstechnik |language=de |series=Philips Fachbücher |publisher=[[Deutsche Philips GmbH]] |___location=Hamburg, Germany |volume=I |date=1975 |orig-year=1969 |edition=improved and extended 5th |isbn=3-87145-272-6 |page=50}} (xii+327+3 pages) (NB. The German edition of volume I was published in 1969, 1971, two editions in 1972, and 1975. Volume II was published in 1970, 1972, 1973, and 1975.)</ref>
<ref name="Stibitz_1957">{{cite book |title=Mathematics and Computers |author-first1=George Robert |author-last1=Stibitz |author-link1=George Robert Stibitz |author-first2=Jules A. |author-last2=Larrivee |date=1957 |edition=1 |publisher=[[McGraw-Hill Book Company, Inc.]] |publication-place=New York, USAUS / Toronto, Canada / London, UK |___location=Underhill, Vermont, USAUS |lccn=56-10331 |page=105}} (10+228 pages)</ref>
<ref name="Savard_2018_Decimal">{{cite web |title=Decimal Representations |author-first=John J. G. |author-last=Savard |date=2018 |orig-year=2006 |work=quadibloc |url=http://www.quadibloc.com/comp/cp0203.htm |access-date=2018-07-16 |url-status=live |archive-url=https://web.archive.org/web/20180716101321/http://www.quadibloc.com/comp/cp0203.htm |archive-date=2018-07-16}}</ref>
<ref name="Ledley_1960">{{cite book |title=Digital Computer and Control Engineering |chapter=Part 4. Logical Design of Digital-Computer Circuitry; Chapter 15. Serial Arithmetic Operations; Chapter 15-7. Additional Topics |author-first1=Robert Steven |author-last1=Ledley |author-link1=Robert Steven Ledley |author-first2=Louis S. |author-last2=Rotolo |author-first3=James Bruce |author-last3=Wilson |publisher=[[McGraw-Hill Book Company, Inc.]] (printer: The Maple Press Company, York, Pennsylvania, USAUS) |publication-place=New York, USAUS |series=McGraw-Hill Electrical and Electronic Engineering Series |edition=1 |date=1960 |sbn=07036981-X |isbn=0-07036981-X |id={{ISBN|978-0-07036981-8}}. ark:/13960/t72v3b312 |issn=2574-7916 |ol=OL5776493M |lccn=59015055 |oclc=1033638267 |pages=517–518 |url=http://bitsavers.informatik.uni-stuttgart.de/pdf/columbiaUniv/Ledley_Digital_Computer_and_Control_Engineering_1960.pdf |access-date=2021-02-19 |url-status=live |archive-url=https://web.archive.org/web/20210219203314/http://bitsavers.informatik.uni-stuttgart.de/pdf/columbiaUniv/Ledley_Digital_Computer_and_Control_Engineering_1960.pdf |archive-date=2021-02-19 |quote-page=518 |quote=[…] The use of the biquinary code in this respect is typical. The binary part (i.e., the most significant bit) and the quinary part (the other 4 bits) are first added separately; then the quinary carry is added to tnethe binary part. If a binary carry is generated, this is propagated to the quinary part of the next decimal digit to the left. […]}} [https://archive.org/details/digitalcomputerc00ledl] (xxiv+835+1 pages)</ref>
}}