Výpočet kontrolného čísla

Výpočet kontrolných číslic pre čiarové kódy

Modulo 10

ActiveBarcode: Info ActiveBarcode automaticky vypočíta kontrolné číslice pre čiarové kódy.
Nie je potrebné tieto kontrolné číslice ručne počítať ani pridávať. Táto dokumentácia je priložená len pre úplnosť.
Výpočet kontrolného súčtu podľa Modulo 10:
Kontrolná číslica podľa Modulo 10 sa používa v kódoch EAN, napr. EAN-13.

Pri kódoch EAN sa kontrolná číslica vypočíta podľa výpočtovej metódy modulo 10 s váhou 3. Váha 3 začína na prvej číslici zprava. Potom sa jednotlivé číslice vynásobia váhou. Tieto výsledky sa sčítajú do súčtu. Modulo 10 sa vypočíta z tejto sumy. Najskôr sa suma vydelí 10. Zvyšok delenia sa odpočíta od 10. Výsledkom tohto odčítania je kontrolný súčet/kontrolná číslica.

Nasleduje príklad výpočtu pre Modulo 10 s použitím kódu EAN-13:

Číslice: 4 0 0 7 6 3 0 0 0 0 1 1
Hmotnosť: 1 3 1 3 1 3 1 3 1 3 1 3
Výsledky: 4+0+0+21+6+9+0+0+0+0+1+3 = 44
Vypočítajte kontrolný súčet: Prírastok k najbližšiemu násobku 10. (50)
Kontrolná číslica 6


Pri kódoch Code 25 sa kontrolná číslica vypočíta tiež s váhou 3 podľa výpočtovej metódy Modulo 10. Váha 3 však začína pri prvej užitočnej číslici zľava. Potom sa jednotlivé užitočné číslice vynásobia váhou. Tieto výsledné výsledky sa sčítajú do súčtu. Modulo 10 sa vypočíta z tejto sumy. Najskôr sa suma vydelí číslom 10. Zvyšok delenia sa odpočíta od 10 (vypočítajte rozdiel k 10). Výsledkom tohto odčítania je kontrolný súčet/kontrolná číslica.

Nižšie je uvedený príklad výpočtu pre Modulo 10 s použitím kódu 25:

Číslice: 1 2 3 4 5
Hmotnosť: 3 1 3 1 3
Výsledky: 3+2+9+4+15 = 33
Vypočítajte kontrolný súčet: Prírastok k najbližšiemu násobku 10. (40)
Kontrolná číslica 7


Pri Leitcode a Identcode sa kontrolná číslica vypočíta tiež podľa výpočtovej metódy modulo 10. Váha je tu však iná: Váha 4 pre nepárne pozície a 9 pre priame pozície. Tu je príklad:

Číslice: 2 3 6 6 9 0 1 2 0 1 2 3 0
Hmotnosť: 4 9 4 9 4 9 4 9 4 9 4 9 4
Výsledky: 8+27+24+54+36+0+4+18+0+9+8+27+0 = 215
Vypočítajte kontrolný súčet: Prírastok k najbližšiemu násobku 10. (220)
Kontrolná číslica 5


Príklad výpočtu pre Modulo 10 s použitím kódu EAN-14 / ITF-14 / SCC-14 / DUN-14:

Číslice: 0 4 0 0 7 6 3 0 0 0 0 1 1
Hmotnosť: 3 1 3 1 3 1 3 1 3 1 3 1 3
Výsledky: 0+4+0+0+21+6+9+0+0+0+0+1+3 = 44
Vypočítajte kontrolný súčet: Prírastok k najbližšiemu násobku 10. (50)
Kontrolná číslica 6

Modulo 11

ActiveBarcode: Info ActiveBarcode automaticky vypočíta kontrolné číslice pre čiarové kódy.
Nie je potrebné tieto kontrolné číslice ručne počítať ani pridávať. Táto dokumentácia je priložená len pre úplnosť.
Výpočet kontrolného súčtu podľa Modulo 11:
Kontrolná číslica podľa Modulo 11 sa používa napr. v PZN. Modulo 11 sa používa aj pre ISBN.

PZN
Najskôr sa všetky číslice vynásobia jednotlivo multiplikátorom. Multiplikátor zodpovedá pozícii číslice 1. Všetky výsledné produkty sa sčítajú. Výsledok sa potom vydelí 11. Výsledný zvyšok je kontrolná číslica. Ak je kontrolná číslica 10, toto číslo sa nesmie použiť ako PZN. Kód by preto bol neplatný.

Príklad výpočtu:

Číslice: 6 3 1 9 4 2
Hmotnosť: 2 3 4 5 6 7
Výsledky: 12+9+4+45+24+14 = 108
Vypočítajte kontrolný súčet: 108 / 11 = 9 Zvyšok 9
Kontrolná číslica 9


Kontrolný súčet ISBN-10 a ISSN
Najskôr sa všetky číslice vynásobia jednotlivo multiplikátorom. Multiplikátor zodpovedá pozícii číslice 1 zprava. Všetky výsledné produkty sa sčítajú. Výsledok sa potom vydelí 11. Výsledný zvyšok sa odpočíta od 11 a výsledkom je kontrolná číslica.
Ak je výsledok 11 vypočítaný pre tento kontrolný súčet, kontrolný súčet je 0. V dôsledku toho nebolo možné vypočítať 0, pretože v predchádzajúcom kroku (zvyšok po delení číslom 11) nie je možné, aby výsledok bol 11.
Môže sa tiež stať, že bude potrebná číslica 10. 10 je reprezentované znakom X: „3-928444-00-X“.

Príklad výpočtu:

Číslice: 3 9 2 8 4 4 4 0 4
Hmotnosť: 10 9 8 7 6 5 4 3 2
Výsledky: 30 + 81 + 16 + 56 + 24 + 20 + 16 + 0 + 8 = 251
Vypočítajte kontrolný súčet: 251 / 11 = 22 Zvyšok 9 -> 11 - 9 = 2
Kontrolná číslica 2

Modulo 16

ActiveBarcode: Info ActiveBarcode automaticky vypočíta kontrolné číslice pre čiarové kódy.
Nie je potrebné tieto kontrolné číslice ručne počítať ani pridávať. Táto dokumentácia je priložená len pre úplnosť.
Výpočet kontrolného súčtu podľa Modulo 16:
Modulo 16 sa používa v symbológii čiarových kódov Codabar. Tu je príklad výpočtu kontrolného čísla podľa Modulo 16:

Číslice: A 7 8 9 A
Referenčné čísla: 16 7 8 9 16
Súčet referenčných čísel: 56
Vypočítajte kontrolný súčet: 56 / 16 = 3 Zvyšok 8
difference: 16 - 8 = 8
Kontrolná číslica Referenčné číslo 8 = 8

Referenčné čísla:
00 = 0
01 = 1
02 = 2
03 = 3
04 = 4
05 = 5
06 = 6
07 = 7
08 = 8
09 = 9
10 = -
11 = $
12 = :
13 = /
14 = .
15 = +
16 = A
17 = B
18 = C
19 = D

Modulo 43

ActiveBarcode: Info ActiveBarcode automaticky vypočíta kontrolné číslice pre čiarové kódy.
Nie je potrebné tieto kontrolné číslice ručne počítať ani pridávať. Táto dokumentácia je priložená len pre úplnosť.
Výpočet kontrolného súčtu podľa Modulo 43:
Kontrolná číslica podľa Modulo 43 sa používa napr. v kóde 39.

Najskôr sa všetkým znakom kódu priradia referenčné čísla. Tieto referenčné čísla sa pripočítajú k celkovému súčtu. Táto suma sa vydelí číslom 43. Zvyšok tohto delenia zodpovedá kontrolnému súčtu, ktorý je potom nahradený znakom zodpovedajúcim referenčnému číslu.

Príklad výpočtu:

Číslice: 1 5 9 A Z
Referenčné čísla: 1 +5 +9 +10 +35
Súčet referenčných čísel: 60
Vypočítajte kontrolný súčet: 60 / 43 = 1 Zvyšok 17
Kontrolná číslica "H" (Referenčné číslo 17)

Referenčné čísla:
00 0
01 1
02 2
03 3
04 4
05 5
06 6
07 7
08 8
09 9
10 A
11 B
12 C
13 D
14 E
15 F
16 G
17 H
18 I
19 J
20 K
21 L
22 M
23 N
24 O
25 P
26 Q
27 R
28 S
29 T
30 U
31 V
32 W
33 X
34 Y
35 Z
36 -
37 .
38 Space
39 $
40 /
41 +
42 %


Príklad kódu na výpočet kontrolného súčtu podľa Modulo 43

Kód Excel VBA na výpočet kontrolného súčtu podľa Modulo 43, napr. pre kód HIBC:
' calc modulo 43
‘ returns the input string plus the check character
' demo for www.activebarcode.com
Public Function MOD43CheckChar(sValue As String) As String
    Const charSet As String = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%"
    Dim i As Integer
    Dim T As Long
    For i = 1 To Len(Trim(UCase(sValue)))
        T = InStr(charSet, Mid(sValue, i, 1)) - 1 + T
    Next i
    MOD43CheckChar = sValue & Mid$(charSet, (T Mod 43 + 1), 1)
End Function

Modulo 47

ActiveBarcode: Info ActiveBarcode automaticky vypočíta kontrolné číslice pre čiarové kódy.
Nie je potrebné tieto kontrolné číslice ručne počítať ani pridávať. Táto dokumentácia je priložená len pre úplnosť.
Výpočet kontrolného súčtu podľa Modulo 47:
Kontrolný znak podľa Modulo 47 sa používa napr. v kóde 93.

Kód 93 používa 2 kontrolné súčty, tzv. kontrolný súčet C a tzv. kontrolný súčet K. Oba sa počítajú podľa rovnakého princípu. K kontrolný súčet však obsahuje aj C kontrolný súčet.

Počas výpočtu sa najskôr všetkým znakom kódu priradia referenčné čísla. Každá číslica v kóde má priradenú váhu a bola postupne zvyšovaná odzadu. Podľa toho má posledná pozícia váhu 1, predposledná pozícia váhu 2 atď. Referenčné čísla sa v každom prípade vynásobia váhou. Výsledné individuálne výsledky sa sčítajú.

Tento súčet sa teraz vydelí číslom 47. Zvyšná časť tohto rozdelenia zodpovedá kontrolnému súčtu, ktorý je kódovaný ako znak pomocou referenčného čísla.

Kontrolný súčet K sa určuje rovnakým spôsobom. Tentoraz sa však ako základ používa reťazec znakov kódu – rovnako ako pri prvom kontrolnom súčte – plus kontrolný súčet C. Prvý stanovený kontrolný súčet je zahrnutý do výpočtu druhého kontrolného súčtu.

Príklad výpočtu:

Checksum with Modulo47

Referenčné čísla Code 93:

00 0
01 1
02 2
03 3
04 4
05 5
06 6
07 7
08 8
09 9
10 A
11 B
12 C
13 D
14 E
15 F
16 G
17 H
18 I
19 J
20 K
21 L
22 M
23 N
24 O
25 P
26 Q
27 R
28 S
29 T
30 U
31 V
32 W
33 X
34 Y
35 Z
36 -
37 .
38 Space
39 $
40 /
41 +
42 %
43 ($)
44 (%)
45 (/)
46 (+)
- * Start/Stop