首页 理论教育校验位在代码结构中的应用

校验位在代码结构中的应用

【摘要】:当代码输入计算机时,计算机按照同样的数学方法,根据代码本体重新计算,将结果与输入的校验位比较,由此检验输入的代码是否正确。国际标准图书号与国际物品代码国际标准图书号与国际物品代码中校验位的计算方法相同。4)将10减去余数Y后即为校验位R。如相减后的数值为10,则校验位为0。3)根据Y的值参照对照表得到校验码R。

代码是数据的重要组成部分,它的正确性将直接影响系统的质量。当人们抄写、录入时,发生错误的可能性很大,例如把“1234”写成了“1235”。因此,为了验证输入代码的正确性,要在代码本体的基础上,再外加校验码,使它成为代码中的一个组成部分。

1.校验位的形成

校验位的形成过程和使用方法如图4-6所示。

978-7-111-47279-7-Chapter04-7.jpg

图4-6 校验位的形成和使用方法

校验码是按照事先规定好的数学方法及代码本体算出来的。当代码输入计算机时,计算机按照同样的数学方法,根据代码本体重新计算,将结果与输入的校验位比较,由此检验输入的代码是否正确。

2.校验位的算法举例

不同种类的代码,校验位的算法不同,具体方法请参照下例。

(1)国际标准图书号与国际物品代码

国际标准图书号与国际物品代码中校验位的计算方法相同。

【例4-1】 ISBN为:978-7-302-10809-R的图书,如何确定校验位R?

1)用1分别乘书号的前12位中的奇数位,3乘以偶数位。

2)将各乘积相加,求出总和S。

3)将总和除以10,得出余数Y。

4)将10减去余数Y后即为校验位R。如相减后的数值为10,则校验位为0。(www.chuimin.cn)

5)根据上述规则算出:S=118;Y=118%10=8;R=10-Y=10-8=2。

【例4-2】 有如图4-7所示的国际物品的代码结构,校验位的算法如下:

978-7-111-47279-7-Chapter04-8.jpg

图4-7 国际物品代码结构

S=73;Y=73%10=3;R=10-3=7

(2)居民身份证号的校验位

如图4-6所示的居民身份证号,校验位的确定方法如下所示:

1)对前17位数字加权求和,公式为:S=Sum(Ai×Wi),i=0,…,16,其中Ai表示身份证第i位置上的数字,Wi表示第i位置上的加权因子,依次为

7910584216379105842

2)以11对计算结果S取余,得余数Y。

3)根据Y的值参照对照表得到校验码R。可参见如表4-2所示的对照表。

表4-2校验码对照表

978-7-111-47279-7-Chapter04-9.jpg

根据上述规则,算出:S=274;Y=10;R=2