校验位计算 Modulo 10

校验数位计算说明



InfoActiveBarcode 可自动计算大多数代码的校验码。
本文件仅供参考。

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


使用 LeitcodeIdentcode 时,校验码也是按照模 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