10位ISBN校验位的计算方法:(模数11 余数 0-10 差数 1-11 校验位:0-9, x(差数为10))
以ISBN 7-81090-021-?为例,其计算如下
1) 取ISBN前9位数字
7 8 1 0 9 0 0 2 1
2) 取各位数字所对应的加权值(10~2)
10 9 8 7 6 5 4 3 2
3) 将各位数字与其相应的加权值依次相乘
70 72 8 0 54 0 0 6 2
4) 将乘积相加,得出和数
70+72+8+0+54+0+0+6+2=212
5) 用和数除以模数11,得出余数
212÷11=19余3
6) 模数11减余数,所得差数即为校验码的值
11–3=8
7) 将所得校验码数值放在构成ISBN的基本数字的最右边
ISBN 7-81090-021-8
如果差数为10。校验码则以大写英文字母“X”表示。如果余数是“0”,则校验码为“0”。
余数、差数和校验位的关系
余数: 0 1 2 3 4 5 6 7 8 9 10
差数: 11 10 9 8 7 6 5 4 3 2 1
校验位: 0 X 9 8 7 6 5 4 3 2 1
13位ISBN的校验位计算方法(模数10 余数 0-9 差数 1-10 校验位:0-9)
13位ISBN校验位改变了10位ISBN的计算方法,采用奇数偶数位算法,模数也改为10,所以新的ISBN中将不出现X校验码。13位ISBN的最后一位数字为校验位,数值范围由0至9,其计算方法如下 :
方法1
(1) 用1分别乘书号的前12位中的奇数位, 用3乘以偶数位:(位数从左到右为13位到2位)
(2) 将各乘积相加,求出总和 ;
(3) 将总和除以10,得出余数;
(4) 将10减去余数后即为校验位。如相减后的数值为10,校验位则为0。
例子:
前缀号、 国别语种识别代号、出社识别代号、 书名代号、 校验位
ISBN 9 7 8- 7- 8 1 0 9 0- 0 2 1- ?
加权数乘 1 3 1 3 1 3 1 3 1 3 1 3
9 21 8 21 8 3 0 27 0 0 2 3 = 102
102÷10= 0 余数=2
校验位= 10-2=8
有效的ISBN 是 ISBN 978-7-81090-021-8
方法2
由于模数变为10,根据模数尾数计算法则,我们可以简化计算方法,采用去整存零(个位)法计算方法如下
1. 将ISBN的偶位数按如下原则改写:
0 仍为 0
1 改成 3
2 改成 6
3 改成 9
4 改成 2 (4x3=12 舍10取2,以下同)
5 改成 5
6 改成 8
7 改成 1
8 改成 4
9 改成 7
然后自前往后,或从后到前一次算加法,逢整取个位数,然后再用这个个位数与下一个数相加,并再次逢整取个位,依次类推,直到最后。
978-7-81090-021-?
改成
918-1-83070-023-?
计算:9+1=10取0+8=8取8+1=9取9+8=17取7+3=10取0+0=0取0+7=7取7+0=7取7+0=7取7+2=9取9+3=12取2
校验位为=10-2=8
有效的ISBN 是 ISBN 978-7-81090-021-8
方法3
示范数据: 9 7 8- 7- 8 1 0 9 0- 0 2 1- ?
代码位置:13 12 11 10 9 8 7 6 5 4 3 2 1
除位数1外;
所有偶数位的数字代码求和 取末位数为a。
将a乘以3 取末位数为b。
所有奇数位的数字代码求和 取末位数为c。
将b和c相加求和 取末位数为d(因模数为10,所以余数即末位数d)。
用10减去d即为校验位数值。
7+7+1+9+0+1 = 25 取末位数为a=5
5*3 = 15 取末位数为b=5
9+8+8+0+0+2 = 27 取末位数为c=7
5+7 = 12 取末位数为d=2 (余数)
10-2= 8 差数为校验位: 8
有效的ISBN 是 ISBN 978-7-81090-021-8
余数、差数和校验位的关系
余数: 0 1 2 3 4 5 6 7 8 9
差数: 10 9 8 7 6 5 4 3 2 1
校验位: 0 9 8 7 6 5 4 3 2 1
新的ISBN 号码与条形码一样
13位新版的国际标准图书编号标准(ISBN)于2007年1月1日起实施