
相关资讯
10位ISBN和13位ISBN校验码的计算
文章出处:深圳市创荣欣科技有限公司
发表时间:2014/12/29
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
方法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日起实施