校验数位计算说明

本文件仅供参考。
Modulo 10
根据模数计算校验和 10:EAN 编码中使用了模数 10 的校验码,例如 EAN-13.
对于 EAN 码,校验位根据模 10 计算法计算,权重为 3。 加权 3 从右边第一个数字开始。 然后将各个数字乘以权重。 这些结果相加得出一个总和。 根据这个和计算出模 10。首先将总和除以 10。 除法的余数从 10 中减去。 减法的结果就是校验和/校验位。
下面是一个使用 EAN-13 代码进行模数转换 10 的计算示例:
数字: | 4 0 0 7 6 3 0 0 0 0 1 1 |
重量: | 1 3 1 3 1 3 1 3 1 3 1 3 |
成果: | 4+0+0+21+6+9+0+0+0+0+1+3 = 44 |
计算校验和: | 10 的下一个倍数的加法。 (50) |
校验码 | 6 |
对于代码 25,校验位也是按照模 10 计算方法,以权重 3 计算的。 不过,权重 3 从左边第一个有用的数字开始。 然后将各个有用数字乘以权重。 将这些结果相加得出一个总和。 模数 10 就是从这个和中计算出来的。 首先将总和除以 10。 除法的余数从 10 中减去(计算到 10 的差值)。 减法的结果就是校验和/校验位。
下面是使用代码 25 进行模乘 10 计算的示例:
数字: | 1 2 3 4 5 |
重量: | 3 1 3 1 3 |
成果: | 3+2+9+4+15 = 33 |
计算校验和: | 10 的下一个倍数的加法。 (40) |
校验码 | 7 |
使用 Leitcode 和 Identcode 时,校验码也是按照模 10 计算方法计算的。 不过,这里的权重有所不同: 奇数位置的权重为 4,直线位置的权重为 9。 下面就是一个例子:
数字: | 2 3 6 6 9 0 1 2 0 1 2 3 0 |
重量: | 4 9 4 9 4 9 4 9 4 9 4 9 4 |
成果: | 8+27+24+54+36+0+4+18+0+9+8+27+0 = 215 |
计算校验和: | 10 的下一个倍数的加法。 (220) |
校验码 | 5 |
使用 EAN-14 / ITF-14 / SCC-14 / DUN-14 编码的模数 10 计算示例:
数字: | 0 4 0 0 7 6 3 0 0 0 0 1 1 |
重量: | 3 1 3 1 3 1 3 1 3 1 3 1 3 |
成果: | 0+4+0+0+21+6+9+0+0+0+0+1+3 = 44 |
计算校验和: | 10 的下一个倍数的加法。 (50) |
校验码 | 6 |