おもしろいかな算数(20) 「バーコードとチェックディジット」(セミナー通信 2022年03月号)
スーパーで買い物をするとき、レジでは商品についているバーコードを読み取ることで、瞬時に商品名と価格が表示されます。
このコードはGTIN(Global Trade Item Number)と呼ばれる仕組みです。
バーコードは13桁の数字を棒線(バー)と空白(スペース)で表示したものです。
はじめの2桁は国名を表しています。日本は「49」または「45」です。その次の7桁はメーカー、その次の3桁はメーカーごとの商品識別のためのコードです。
国/メーカー/商品の3つの情報を表すには12桁ですみますが、最後に1桁の数字が付け足されています。この1桁の数字をチェックディジットといいます。「チェック」は「検査」、「ディジット」は「数字」のことです。チェックディジットは12桁の数字の記載ミスを防ぐためにつけられています。
では、どのような仕組みでミスを防いでいるのでしょう。
バーコードの左から(最後の数を除いた奇数番目の数の合計)+(偶数番目の数の合計)×3 を10で割ったときの余りを求めます。この数をa(0≦a≦9)とします。チェックディジットは10-aとなります。
例えば 49 02424 44562 6 の場合
奇数番目の合計は 4+0+4+4+4+6=22
偶数番目の合計は 9+2+2+4+5+2=24
この偶数番目の合計24を3倍して 24×3=72
偶数番目の合計と合わせて 22+72=94
94を10で割った余りは4なので
10-4=6 ちゃんと最後の数6になりました。
*別の言い方をすると、(最後の数も含めて奇数番目の数の合計)+(偶数番目の数の合計)×3が10で割り切れるように13番目の数は決められます。
チェックディジットは数字を一つだけ間違えた時などに、間違いがあることを検出できます。
本の場合はISBN(International Standard Book Number)が採用されています。以前は10桁のコードで10で割った余りではなく11で割った余りとなっていましたが、現在は13桁で、計算方法はGTINと同じになっています。
最初の3桁「978」または「979」は「書籍」を表しています。日本は「978」を使っています。次は国名で日本は「4」が割り振られています。次が出版社名、というように並んでいます。
例えば978 4 10・・・・ならば
書籍 日本 新潮社という具合です。
情報を速く正確に伝えるために、まず誤りの検出と訂正が大切なので、世の中にはチェックディジットのような仕組みがたくさん利用されています。 バーコードを見たらチェックディジットのこと、ちょっと思い出してください。