2006/02/11 [土]
検査文字の基本的な計算方法は、最後の一桁の検査文字を除いた文字列の各桁に、ある重みを掛け算して、それらの和をとり、最後にその余りを求めます。ISBN-10 と ISBN-13 では、各桁に掛ける重みが異なっています。以下で % は余りを求める演算子とします。
10, 9, 8, ..., 2 のように重みを一つずつ減らした値を掛けて、最後に 11 で余りを求めます。11 からその値を引き、結果が 10 なら'X' を、11 なら 0 とします。
例: ISBN 1-234-56789-? → (1*10 + 2*9 + 3*8 + 4*7 + 5*6 + 6*5 + 7*4 + 8*3 + 9*2) % 11 → 210 % 11 → 1 結果 → 11 - 1 → 10 → X → ISBN 1-234-56789-X
by seclan