皆さん、こんにちは。
チェックディジットとはデータの最後に付け加えられる数値・文字のことです。
データの正確性を担保するために、データから計算される数値・文字をデータの最後に付け加えます。ITパスポート試験では、チェックディジットを計算させる問題も出題されています。1つ例を挙げてみます。
問題)次の方式によって求められるチェックデイジットを付加すると73940となる。ここでデータを7394、重み付け定数を1234、基数を11とする。
〔方式〕
(1)データと重み付け定数の各けたの積を求め、その和を求める。
(2)和を基数で割って、余りを求める。
(3)基数から余りを減じ、その結果の1の位をェックデイジットとしてデータの末尾に
付加する。
〔方式〕の通り計算してみます。
(1) データと重み付け定数の各けたの積を求め、その和を求める。
データ | 7 | 3 | 9 | 4 | |
× | × | × | × | ||
定数 | 1 | 2 | 3 | 4 | |
= | = | = | = | ||
積 | 7 | 6 | 27 | 16 | |
和 | 56 |
(2)和を基数で割って、余りを求める。
和÷基数=56÷11=5余り1
(3)基数から余りを減じ、その結果の1の位をチェックディジットとする。
基数-余り=11-1=10
→1の位は「0」
→チェックディジットは「0」となる。
チェックディジットを元のデータの末尾に付加すると「73940」となります。
元のデータが「7394」のときのチェックディジットが「0」なのであり、「73941」や「73942」ということはあり得ないわけです。もし、コンピュータ利用者が「73941」や「73942」を入力しようとすると、あり得ない数値としてコンピュータが入力ミスを指摘することができ、データの正確性を担保することができるようになるわけです。