五取二碼(英語:two-out-of-five code),又稱標準25碼,是一種恆重碼,恰好提供了兩比特的十種可能組合,常使用五比特來表示數字。[1]每一個比特都分配了一個權重,所有比特相加就得到了預期的值,而0除外。
編碼標準
根據美國聯邦標準1037C:
- 每一位數字都應該都應該由五比特的二進制數表示,其中兩比特為一種,被稱為「一」(ones),另外三比特為另一種,被稱為「零」(zeros),
- 通常分配給每一位比特的權重是0-1-2-3-6。而在這種規則下,0被編碼為01100;嚴格來說,之前規定的0-1-2-3-6只是一種助憶法。[2]
在這樣的權重下,對於絕大多數數字都只有唯一的編碼方式,但是3卻有兩種:10010的0+3和01100的1+2。於是前者用於編碼數字3,而後者則用於代表無法表示的0。
應用
IBM 7070、IBM 7072和IBM 7074電腦都使用這種編碼。這類機器的每個字共由10個數字和1個符號標識構成,數字的表示使用二取五碼,並使用與電信標準相同的0-1-2-3-6權重。其中的符號標識使用三取二碼編碼,用來表示文數字(A)、負數(-)或正數(+);當被複製到某個數字上時,這三比特會被放置在第0、3、4位上(從而相對應產生了數字值3、6和9)。[3][4]
五取二碼的一個變體是美國郵政總局的POSTNET條形碼,用於表示美國郵政編碼,方便自動郵件排序和路徑規劃設備。該條碼使用兩條長條作為「一」,三條短條作為「零」。而每個比特的權重則是7-4-2-1-0。同樣0是特別編碼的,使用原本會產生11的7+4組合(即11000)。這種方法同樣也在北美電話多頻信令和交叉開關系統中使用。[5]
郵政總局的郵政文數編碼方法(PLANET)也使用了同樣的權重,但所用條的高度則是相反的。[6]
Code39條碼使用了1-2-4-7-0的權重(即最低有效位最先,奇偶校驗位最後),並用條的寬度表示,但該條碼還在條的間距中編碼了兩位額外的信息。對於數字編碼,使用|| ||||間距(即0100)。[7][8]
下表展示了使用不同五取二碼系統編碼數字0-9的方式:
校驗
必須設置兩個比特位的要求比奇偶校驗更嚴格;與所有恆重碼一樣,五取二碼不僅可以檢測到任何單比特錯誤,還可以檢測到任何單向錯誤——即所有單個比特錯誤都是單一類型的情況(全部是0→1或全部是1→0)。
參見
- 二五-十進制編碼
- 交叉25碼
參考資料
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.