チェック数字の計算方法

このドキュメントはあくまで完全性を期すためのものである。
Modulo 10
モジュロに従ったチェックサムの計算 10:モジュロ10によるチェックデジットは、EANコード、例えばEAN-13で使用される。
EANコードでは、チェックデジットはモジュロ10計算法に従って重み付け3で計算される。 重み付け3は、右から1桁目から始まる。 その後、各桁に重み付けが掛けられる。 これらの結果は合計される。 モジュロ10はこの合計から計算される。まず和を10で割る。 割り算の残りは10から引かれる。 この減算の結果がチェックサム/チェックデジットである。
以下は、EAN-13 コードを使用した Modulo 10 の計算例である:
数字: | 4 0 0 7 6 3 0 0 0 0 1 1 |
重量: | 1 3 1 3 1 3 1 3 1 3 1 3 |
結果: | 4+0+0+21+6+9+0+0+0+0+1+3 = 44 |
チェックサムの計算: | 10の次の倍数までの足し算。 (50) |
チェックデジット | 6 |
コード25コードでは、チェックデジットもモジュロ10の計算方法に従って重み付け3で計算される。 しかし、重み付け3は、左から最初の有用な桁から始まる。 そして、個々の有用な数字に重み付けが掛けられる。 これらの結果は合計される。 モジュロ10はこの和から計算される。 まず、合計を10で割る。 割り算の余りを10から引く(10との差を計算する)。 この減算の結果がチェックサム/チェックデジットである。
以下はコード25を使ったモジュロ10の計算例です:
数字: | 1 2 3 4 5 |
重量: | 3 1 3 1 3 |
結果: | 3+2+9+4+15 = 33 |
チェックサムの計算: | 10の次の倍数までの足し算。 (40) |
チェックデジット | 7 |
Leitcode と Identcode では、チェックデジットもモジュロ10の計算方法に従って計算される。 しかし、ここでは重み付けが違う: ウエイトは奇数ポジションが4、ストレートポジションが9。 例を挙げよう:
数字: | 2 3 6 6 9 0 1 2 0 1 2 3 0 |
重量: | 4 9 4 9 4 9 4 9 4 9 4 9 4 |
結果: | 8+27+24+54+36+0+4+18+0+9+8+27+0 = 215 |
チェックサムの計算: | 10の次の倍数までの足し算。 (220) |
チェックデジット | 5 |
EAN-14 / ITF-14 / SCC-14 / DUN-14 コードを使用した Modulo 10 の計算例:
数字: | 0 4 0 0 7 6 3 0 0 0 0 1 1 |
重量: | 3 1 3 1 3 1 3 1 3 1 3 1 3 |
結果: | 0+4+0+0+21+6+9+0+0+0+0+1+3 = 44 |
チェックサムの計算: | 10の次の倍数までの足し算。 (50) |
チェックデジット | 6 |