気まぐれブログ(日記・技術記事・研究のことなど)

気まぐれに更新します.温かい目で見ていただければ...

バーコードについている数字の仕組み

こんにちは!field_flatです!

突然ですが,みなさん「バーコードについている数字の仕組み」についてご存知でしょうか? 私はとある本を読んだときに,バーコードの数字にはある工夫がされていることを知り,なるほど〜と思いました. そんな大したことではないのですが,一応ブログで紹介したいと思います.

バーコードの数字って?

こんな感じのやつです.

f:id:tomonori4565:20200516233028j:plain
バーコードの数字

「4 903333 274420」という数字が書いてありますね.

数字の意味

数字の意味なのですが,左の2桁(上記例でいう「49」)は「国コード」を表します.日本は基本的に「45」か「49」になります. 続く5桁(上記例でいう「03333」)は「企業コード」を表します.企業ごとに一意の数字が与えられます. 続く5桁(上記例でいう「27442」)は「商品アイテムコード」を表します. そして最後の1桁(上記例でいう「0」)は,実は何も意味していません. 何も意味していないというと語弊があるのですが,これは商品の読み取りエラーを防ぐ仕組みのために付けられた数字なのです.したがって企業や商品とは一切無関係のものです. どうやって最後の数字が決定するかというと,奇数桁の数の和をx(上記例でいうと4+0+3+3+7+4 = 21より,x=21),偶数桁の数の和をy(上記例でいうと9+3+3+2+4+2 = 23より,y=23),そして最後の数字をzとしたときに,x+3y+zが10の倍数になるようにzが設定されるらしいです.

上記例の場合,x+3y = 90より,z=0とすれば10の倍数になりますね.なので最後の桁は0になるのです.

この仕組みを導入することで,間違えて他の商品を認識してしまう,というエラーを防いでいるのです!

これを知ったとき,「身近なものにも色々な工夫が施されているのだなあ」と思いました^^

情報理論と符号理論

情報理論と符号理論