五取二碼(英語:two-out-of-five code),又稱標準25碼,是一種恆重碼英語constant-weight code,恰好提供了兩比特的十種可能組合,常使用五比特來表示數字[1]每一個比特都分配了一個權重,所有比特相加就得到了預期的值,而0除外。

Thumb
五取二碼(非交叉)
Thumb
POSTNET條碼

編碼標準

根據美國聯邦標準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 7070IBM 7072英語IBM 7072IBM 7074英語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)。這種方法同樣也在北美電話多頻信令英語multi-frequency交叉開關英語Crossbar switch系統中使用。[5]

郵政總局的郵政文數編碼方法英語Postal Alpha Numeric Encoding Technique(PLANET)也使用了同樣的權重,但所用條的高度則是相反的。[6]

Code39條碼使用了1-2-4-7-0的權重(即最低有效位最先,奇偶校驗位最後),並用條的寬度表示,但該條碼還在條的間距中編碼了兩位額外的信息。對於數字編碼,使用|| ||||間距(即0100)。[7][8]

下表展示了使用不同五取二碼系統編碼數字0-9的方式:

More information 數字, 電信 01236 ...
數字 電信
01236
POSTNET
74210
PLANET Code39
條寬
12470
1 11000 00011 ┃┃┃╻╻ ▮ | | | ▮
2 10100 00101 ┃┃╻┃╻ | ▮ | | ▮
3 10010 00110 ┃┃╻╻┃ ▮ ▮ | | |
4 01010 01001 ┃╻┃┃╻ | | ▮ | ▮
5 00110 01010 ┃╻┃╻┃ ▮ | ▮ | |
6 10001 01100 ┃╻╻┃┃ | ▮ ▮ | |
7 01001 10001 ╻┃┃┃╻ | | | ▮ ▮
8 00101 10010 ╻┃┃╻┃ ▮ | | ▮ |
9 00011 10100 ╻┃╻┃┃ | ▮ | ▮ |
0 01100 11000 ╻╻┃┃┃ | | ▮ ▮ |
A 1––10 IBM 707x
符號標識
1––01
+ 0––11
數字 01236
IBM 707x
Close

校驗

必須設置兩個比特位的要求比奇偶校驗更嚴格;與所有恆重碼英語constant-weight code一樣,五取二碼不僅可以檢測到任何單比特錯誤,還可以檢測到任何單向錯誤——即所有單個比特錯誤都是單一類型的情況(全部是0→1或全部是1→0)。

參見

參考資料

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.