五取二码

五取二码（），又称标准25码，是一种，恰好提供了两比特的十种可能组合，常使用五比特来表示数字。每一个比特都分配了一个权重，所有比特相加就得到了预期的值，而0除外。

 编码标准 
根据美国联邦标准1037C：
 每一位数字都应该都应该由五比特的二进制数表示，其中两比特为一种，被称为“一”（ones），另外三比特为另一种，被称为“零”（zeros），
 通常分配给每一位比特的权重是0-1-2-3-6。而在这种规则下，0被编码为01100；严格来说，之前规定的0-1-2-3-6只是一种助忆法。

在这样的权重下，对于绝大多数数字都只有唯一的编码方式，但是3却有两种：10010的0+3和01100的1+2。于是前者用于编码数字3，而后者则用于代表无法表示的0。

 应用 
、和电脑都使用这种编码。这类机器的每个字共由10个数字和1个符号标识构成，数字的表示使用二取五码，并使用与电信标准相同的0-1-2-3-6权重。其中的符号标识使用三取二码编码，用来表示英數字元（A）、负数（-）或正数（+）；当被复制到某个数字上时，这三比特会被放置在第0、3、4位上（从而相对应产生了数字值3、6和9）。

五取二码的一个变体是美国邮政总局的POSTNET条形码，用于表示美国邮政编码，方便自动邮件排序和路径规划设备。该条码使用两条长条作为“一”，三条短条作为“零”。而每个比特的权重则是7-4-2-1-0。同样0是特别编码的，使用原本会产生11的7+4组合（即11000）。这种方法同样也在北美电话和系统中使用。

邮政总局的（PLANET）也使用了同样的权重，但所用条的高度则是相反的。

Code39条码使用了1-2-4-7-0的权重（即最低有效位最先，奇偶校验位最后），并用条的宽度表示，但该条码还在条的间距中编码了两位额外的信息。对于数字编码，使用|| ||||间距（即0100）。

下表展示了使用不同五取二码系统编码数字0-9的方式：

 数字 电信  01236 POSTNET  74210 PLANET Code39  条宽  12470 1 11000 00011 Image:POSTNET 1.svg ┃┃┃╻╻ ▮ | | | ▮ 2 10100 00101 Image:POSTNET 2.svg ┃┃╻┃╻ | ▮ | | ▮ 3 10010 00110 Image:POSTNET 3.svg ┃┃╻╻┃ ▮ ▮ | | | 4 01010 01001 Image:POSTNET 4.svg ┃╻┃┃╻ | | ▮ | ▮ 5 00110 01010 Image:POSTNET 5.svg ┃╻┃╻┃ ▮ | ▮ | | 6 10001 01100 Image:POSTNET 6.svg ┃╻╻┃┃ | ▮ ▮ | | 7 01001 10001 Image:POSTNET 7.svg ╻┃┃┃╻ | | | ▮ ▮ 8 00101 10010 Image:POSTNET 8.svg ╻┃┃╻┃ ▮ | | ▮ | 9 00011 10100 Image:POSTNET 9.svg ╻┃╻┃┃ | ▮ | ▮ | 0 01100 11000 Image:POSTNET 0.svg ╻╻┃┃┃ | | ▮ ▮ | A 1––10 IBM 707x符号标识 − 1––01 + 0––11 数字 01236  IBM 707x

 校验 
必须设置两个比特位的要求比奇偶校验更严格；与所有一样，五取二码不仅可以检测到任何单比特错误，还可以检测到任何单向错误——即所有单个比特错误都是单一类型的情况（全部是0→1或全部是1→0）。

 参见 

 交叉25码

 参考资料 

分类:条码
分类:计算机算术
Category:电话信令