10位ISBN和13位ISBN校验码的计算 - 上海威至敦条码技术有限公司
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
您现在的位置:首页 >

10位ISBN和13位ISBN校验码的计算

2011-02-16 09:48

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日起实施