- 7
- 0
- 约小于1千字
- 约 1页
- 2017-06-07 发布于重庆
- 举报
(加分作业)UPC码校验码的检验
作业二:UPC码校验码的检验:
UPC码只能用来表示0-9的数字。每7个模组表达一个字符,每个模组有空(白色)与条(黑色)两种状态。
UPC-A码用于通用商品,是适用范围最广的一种UPC码。一共有113个模组,每个模组长0.33毫米。左右两个各由9个模组组成的空白。UPC-A码是定长码,只能表示12位数字。从左至右,依次是3个模组(101)的起始码、1位的系统码、5位的左侧数据码、5个模组(01010)的中间码、5位的右侧数据码、检查码、3个模组(101)的终止码。其中,起始码、中间码、终止码的模组长度都要长于数据码。
对应法则:左侧数据码与右侧数据码的数值对应规则并不相同,左侧数据码含有奇数个模组,右侧数据码含有偶数个。黑色模组对应逻辑值为1,白色则为0。
左侧资料码
右侧资料码
数值
逻辑值
逻辑值
0
0001101
1110010
1
0011001
1100110
2
0010011
1101100
3
0111101
1000010
4
0100011
1011100
5
0110001
1001110
6
0101111
1010000
7
0111011
1000100
8
0110111
1001000
9
0001011
1110100
可以看出,左侧数据码是右侧数据码的反码。
检查码:检查码为全部12位数据码最后一位。
UPC使用的是Mod 10 校验位计算法具体如下:
例如:01234567890
将从左第一位开始奇数位相加
0 + 2 + 4 + 6 + 8 + 0 = 20
将步骤1的结果乘以3
20 X 3 = 60
将从左向右的偶数位相加
1 + 3 + 5 +7 + 9 = 25
将步骤2与步骤3的结果相加
60 +25 = 85
将步骤4的个位数取补,结果就是校验位
10 - 5 = 5
如果步骤4的个位数为0,则校验位为0
实际条码为 012345678905
原创力文档

文档评论(0)