지역별 뉴스를 확인하세요.

많이 본 뉴스

광고닫기

기사공유

  • 페이스북
  • 트위터
  • 카카오톡
  • 카카오스토리
  • 네이버
  • 공유

슈퍼마켓 스캐너가 읽는 숫자(13개)의 비밀

마켓에 간다. 물건을 집어 계산대에 올린다. 스캐너는 긴 수를 읽어낸다. 13개로 이루어진 수이다. 숫자마다 각각 다른 의미를 지닌다.

처음 두 숫자는 국가를 뜻한다. 다음 다섯 숫자들은 회사, 그 다음 다섯 숫자들은 상품을 나타내는 것이다.그리고 하나의 숫자만 남는다.이것이 결정적인 숫자다. 이 검증 코드의 도움으로 스캐너는 자신이 제대로 읽었는지 잘못 읽었는지를 알 수 있기 때문이다. 그 검증코드는 어떻게 계산되는 걸까 궁금하다. 이는 우리가 익히 알고있는 가로합계를 가지고 하는 것이다. 기본 원칙은 전체 수의 가로합계가 10의 배수가 되도록 검증코드를 결정하는 것이다.

이를 위해서 우선은 처음 12개의 숫자의 총합을 구하고 거기에 맞춰서 검증코드를 정하는 것이다. 12개의 숫자의 총합에 검증코드의 수를 더한 뒤 그것이 10의 배수가 되도록 한다. 총 열두 개 숫자들의 총합이 가령 37이라면 검증코드는 3이 된다. 나란히 서있는 숫자들을 서로 혼동하는 오류조차 바코드 판독기가 구별하기 위해 좀 더 세련된 가로합계가 생겼다. 그 요령은 다음과 같다. 12자리 숫자가 4,0,0,6,3,0,5,1,8,0,2,3이다. 연속하는 숫자에 1과 3(승수)을 번갈아가면서 곱한다. 그리고 곱한 수(적수)의 총합을 만든다.

즉 4X1=4, 0X3=0, 0X1=0, 6X3=18 등이다. 따라서 적수는 4,0,0,18,3,0,5,3,8,0,2,9가 된다. 적수의 합은 52고, 그러면 검증코드는 8이다. 그래야 60이 10의 배수가 되기 때문이다.(유의할 점은 8자리 코드도 있다는 것이다. 이 경우 그 가중치는 3-1-3-1-3-1-3-1로 한다) 오로지 '가중치를 둔 가로 합계'가 10배수일 때에만 현금출납기는 삑 소리를 낼 것이다!




이점봉 기자



Log in to Twitter or Facebook account to connect
with the Korea JoongAng Daily
help-image Social comment?
lock icon

To write comments, please log in to one of the accounts.

Standards Board Policy (0/250자)


많이 본 뉴스





실시간 뉴스