Proračun kontrolnog broja

Izračunavanje kontrolnih znamenaka za crtične kodove

Modulo 10

ActiveBarcode: Info ActiveBarcode automatski izračunava kontrolne znamenke za crtične kodove.
Nema potrebe ručno izračunavati ili dodavati ove kontrolne znamenke. Ova je dokumentacija uključena samo radi potpunosti.
Izračun kontrolne sume prema modulu 10:
Provjerbeni znak prema modulu 10 koriste EAN kodovi, npr. EAN-13.

Kod EAN kodova kontrolni broj izračunava se metodom modulo 10 s ponderom 3. Težina 3 počinje od prve znamenke s desne strane. Zatim se pojedinačni znamenci množe ponderom. Ovi se rezultati zbrajaju. Modulo 10 se izračunava iz ove zbroja. Prvo se zbroj dijeli s 10. Preostali dio podjele oduzima se od 10. Rezultat ove oduzimanja je kontrolni zbir/kontrolni broj.

Slijedi primjer izračuna za modulu 10 pomoću EAN-13 koda:

Cifre: 4 0 0 7 6 3 0 0 0 0 1 1
Težina: 1 3 1 3 1 3 1 3 1 3 1 3
Rezultati: 4+0+0+21+6+9+0+0+0+0+1+3 = 44
Izračunaj kontrolnu sumu: Dodavanje sljedećem višekratniku desetice. (50)
Provjerbeni znak 6


Kod kodova 25, kontrolni znak se također izračunava s težinom 3 prema metodi izračuna modulo 10. Međutim, ponderiranje 3 počinje od prve korisne znamenke slijeva. Zatim se pojedinačni korisni znamenci množe ponderima. Ovi dobiveni rezultati dodaju se zbroju. Modulo 10 se izračunava iz ovog zbira. Prvo se zbroj dijeli s 10. Preostali dio podjele oduzima se od 10 (izračunajte razliku od 10). Rezultat ove oduzimanja je kontrolni zbir/kontrolni broj.

U nastavku možete vidjeti primjer izračuna za modulo 10 koristeći kod 25:

Cifre: 1 2 3 4 5
Težina: 3 1 3 1 3
Rezultati: 3+2+9+4+15 = 33
Izračunaj kontrolnu sumu: Dodavanje sljedećem višekratniku desetice. (40)
Provjerbeni znak 7


Kod Leitkoda i Identkoda kontrolni znak također se izračunava metodom modulo 10. Međutim, ovdje je ponderiranje drugačije: Težina 4 za neparne pozicije i 9 za parne pozicije. Evo primjera:

Cifre: 2 3 6 6 9 0 1 2 0 1 2 3 0
Težina: 4 9 4 9 4 9 4 9 4 9 4 9 4
Rezultati: 8+27+24+54+36+0+4+18+0+9+8+27+0 = 215
Izračunaj kontrolnu sumu: Dodavanje sljedećem višekratniku desetice. (220)
Provjerbeni znak 5


Primjer izračuna za modulo 10 pomoću koda EAN-14 / ITF-14 / SCC-14 / DUN-14:

Cifre: 0 4 0 0 7 6 3 0 0 0 0 1 1
Težina: 3 1 3 1 3 1 3 1 3 1 3 1 3
Rezultati: 0+4+0+0+21+6+9+0+0+0+0+1+3 = 44
Izračunaj kontrolnu sumu: Dodavanje sljedećem višekratniku desetice. (50)
Provjerbeni znak 6

Modulo 11

ActiveBarcode: Info ActiveBarcode automatski izračunava kontrolne znamenke za crtične kodove.
Nema potrebe ručno izračunavati ili dodavati ove kontrolne znamenke. Ova je dokumentacija uključena samo radi potpunosti.
Izračun kontrolne sume prema modulu 11:
Kontrolni znak prema modulu 11 koristi se npr. kod PZN-a. Modul 11 se također koristi za ISBN.

PZN
Prvo se sve znamenke pojedinačno množe množiteljem. Množitelj odgovara položaju znamenke 1. Svi dobiveni proizvodi se zbrajaju. Zatim se rezultat dijeli s 11. Preostali ostatak je kontrolni znamenak. Ako je kontrolni znak 10, taj se broj ne smije koristiti kao PZN. Kod bi stoga bio nevažeći.

Primjer izračuna:

Cifre: 6 3 1 9 4 2
Težina: 2 3 4 5 6 7
Rezultati: 12+9+4+45+24+14 = 108
Izračunaj kontrolnu sumu: 108 / 11 = 9 Ostatak 9
Provjerbeni znak 9


Provjera ISBN-10 i ISSN-a
Prvo se sve znamenke pojedinačno množe množiteljem. Množitelj odgovara položaju znamenke 1 od desno. Svi dobiveni proizvodi se zbrajaju. Zatim se rezultat dijeli s 11. Preostali iznos oduzima se od 11 i daje kontrolni broj.
Ako se rezultat 11 izračuna za ovaj postupak provjere, kontrolna suma je 0. Kao rezultat, 0 se nije mogla izračunati, jer u prethodnom koraku (ostatak pri dijeljenju s 11) 11 nije moguća kao rezultat.
Također se može dogoditi da je potreban broj 10. 10 je označeno slovom X: "3-928444-00-X".

Primjer izračuna:

Cifre: 3 9 2 8 4 4 4 0 4
Težina: 10 9 8 7 6 5 4 3 2
Rezultati: 30 + 81 + 16 + 56 + 24 + 20 + 16 + 0 + 8 = 251
Izračunaj kontrolnu sumu: 251 / 11 = 22 Ostatak 9 -> 11 - 9 = 2
Provjerbeni znak 2

Modulo 16

ActiveBarcode: Info ActiveBarcode automatski izračunava kontrolne znamenke za crtične kodove.
Nema potrebe ručno izračunavati ili dodavati ove kontrolne znamenke. Ova je dokumentacija uključena samo radi potpunosti.
Izračun kontrolne sume prema modulu 16:
Modul 16 koristi se u barkodnoj simbolici Codabar. Evo primjera kako izračunati kontrolni znak prema modulu 16:

Cifre: A 7 8 9 A
Referentni brojevi: 16 7 8 9 16
Zbroj referentnih brojeva: 56
Izračunaj kontrolnu sumu: 56 / 16 = 3 Ostatak 8
difference: 16 - 8 = 8
Provjerbeni znak Referentni broj 8 = 8

Referentni brojevi:
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 automatski izračunava kontrolne znamenke za crtične kodove.
Nema potrebe ručno izračunavati ili dodavati ove kontrolne znamenke. Ova je dokumentacija uključena samo radi potpunosti.
Izračun kontrolne sume prema modulu 43:
Kontrolni znak prema Modulu 43 koristi se npr. kod koda 39.

Prvo se referentnim brojevima označavaju svi znakovi koda. Ovi referentni brojevi dodaju se ukupnom iznosu. Ovaj iznos se dijeli sa 43. Ostatak ove divizije odgovara kontrolnoj sumi, koja se zatim zamjenjuje znakom koji odgovara referentnom broju.

Primjer izračuna:

Cifre: 1 5 9 A Z
Referentni brojevi: 1 +5 +9 +10 +35
Zbroj referentnih brojeva: 60
Izračunaj kontrolnu sumu: 60 / 43 = 1 Ostatak 17
Provjerbeni znak "H" (Referentni broj 17)

Referentni brojevi:
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 %


Primjer koda za izračunavanje kontrolne sume prema modulu 43

Excel VBA kôd za izračun kontrolne sume prema modulu 43, npr. za HIBC kod:
' 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 automatski izračunava kontrolne znamenke za crtične kodove.
Nema potrebe ručno izračunavati ili dodavati ove kontrolne znamenke. Ova je dokumentacija uključena samo radi potpunosti.
Izračun kontrolne sume prema modulu 47:
Kontrolni znak prema modulu 47 koristi se npr. kod koda 93.

Kod 93 koristi dvije kontrolne sume, takozvanu C kontrolnu sumu i takozvanu K kontrolnu sumu. Oba se izračunavaju prema istom principu. Međutim, K kontrolna suma također sadrži C kontrolnu sumu.

Tijekom izračuna, referentni brojevi se prvo dodjeljuju svim znakovima koda. Svaki znamenak u kodu dobiva težinu i povećava se od stražnje strane. Shodno tome, posljednja pozicija ima težinu 1, pretposljednja pozicija težinu 2 i tako dalje. Referentni brojevi se u svakom slučaju množe ponderom. Dobiveni pojedinačni rezultati se zbrajaju.

Ovaj ukupni iznos sada se dijeli sa 47. Preostali dio ove podjele odgovara kontrolnoj sumi, koja je kodirana kao znak pomoću referentnog broja.

K kontrolna suma određuje se na isti način. Međutim, ovaj put se kao osnova koristi niz znakova koda – kao i kod prvog kontrolnog zbroja – plus C kontrolni zbroj. Prva izračunata kontrolna suma uključena je u izračun druge kontrolne sume.

Primjer izračuna:

Checksum with Modulo47

Referentni brojevi 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