Obliczanie cyfry kontrolnej

Obliczanie cyfr kontrolnych dla kodów kreskowych

Modulo 10

ActiveBarcode: Info ActiveBarcode automatycznie oblicza cyfry kontrolne dla kodów kreskowych.
Nie ma potrzeby ręcznego obliczania ani dodawania tych cyfr kontrolnych. Niniejsza dokumentacja została dołączona wyłącznie w celu zapewnienia kompletności.
Obliczanie sumy kontrolnej zgodnie z Modulo 10:
Cyfra kontrolna zgodna z Modulo 10 jest używana w kodach EAN, np. EAN-13.

W przypadku kodów EAN cyfra kontrolna jest obliczana zgodnie z metodą obliczeniową modulo 10 z wagą 3. Waga 3 zaczyna się od pierwszej cyfry od prawej. Następnie poszczególne cyfry są mnożone przez wagę. Wyniki te są dodawane do sumy. Na podstawie tej sumy obliczane jest modulo 10. Najpierw suma jest dzielona przez 10. Reszta z dzielenia jest odejmowana od 10. Wynikiem tego odejmowania jest suma kontrolna/cyfra kontrolna.

Poniżej znajduje się przykład obliczeń dla Modulo 10 przy użyciu kodu EAN-13:

Cyfry: 4 0 0 7 6 3 0 0 0 0 1 1
Waga: 1 3 1 3 1 3 1 3 1 3 1 3
Wyniki: 4+0+0+21+6+9+0+0+0+0+1+3 = 44
Obliczanie sumy kontrolnej: Dodanie do następnej wielokrotności liczby 10. (50)
Cyfra kontrolna 6


W przypadku kodów Code 25 cyfra kontrolna jest również obliczana z wagą 3 zgodnie z metodą obliczeniową Modulo 10. Waga 3 zaczyna się jednak od pierwszej użytecznej cyfry od lewej. Następnie poszczególne użyteczne cyfry są mnożone przez wagę. Uzyskane wyniki są dodawane do sumy. Suma modulo 10 jest obliczana na podstawie tej sumy. Najpierw suma jest dzielona przez 10. Resztę z dzielenia odejmujemy od 10 (obliczamy różnicę do 10). Wynikiem tego odejmowania jest suma kontrolna/cyfra kontrolna.

Poniżej znajduje się przykład obliczeń dla Modulo 10 przy użyciu Kodu 25:

Cyfry: 1 2 3 4 5
Waga: 3 1 3 1 3
Wyniki: 3+2+9+4+15 = 33
Obliczanie sumy kontrolnej: Dodanie do następnej wielokrotności liczby 10. (40)
Cyfra kontrolna 7


W przypadku Leitcode i Identcode cyfra kontrolna jest również obliczana zgodnie z metodą obliczeniową modulo 10. Jednak waga jest tutaj inna: Waga 4 dla pozycji nieparzystych i 9 dla pozycji prostych. Oto przykład:

Cyfry: 2 3 6 6 9 0 1 2 0 1 2 3 0
Waga: 4 9 4 9 4 9 4 9 4 9 4 9 4
Wyniki: 8+27+24+54+36+0+4+18+0+9+8+27+0 = 215
Obliczanie sumy kontrolnej: Dodanie do następnej wielokrotności liczby 10. (220)
Cyfra kontrolna 5


Przykład obliczeń dla Modulo 10 przy użyciu kodu EAN-14 / ITF-14 / SCC-14 / DUN-14:

Cyfry: 0 4 0 0 7 6 3 0 0 0 0 1 1
Waga: 3 1 3 1 3 1 3 1 3 1 3 1 3
Wyniki: 0+4+0+0+21+6+9+0+0+0+0+1+3 = 44
Obliczanie sumy kontrolnej: Dodanie do następnej wielokrotności liczby 10. (50)
Cyfra kontrolna 6

Modulo 11

ActiveBarcode: Info ActiveBarcode automatycznie oblicza cyfry kontrolne dla kodów kreskowych.
Nie ma potrzeby ręcznego obliczania ani dodawania tych cyfr kontrolnych. Niniejsza dokumentacja została dołączona wyłącznie w celu zapewnienia kompletności.
Obliczanie sumy kontrolnej zgodnie z Modulo 11:
Cyfra kontrolna zgodna z Modulo 11 jest używana np. przez PZN. Modulo 11 jest również używane dla ISBN.

PZN
Najpierw wszystkie cyfry są mnożone indywidualnie przez mnożnik. Mnożnik odpowiada pozycji cyfry 1. Wszystkie otrzymane produkty są dodawane. Wynik jest następnie dzielony przez 11. Wynikowa reszta jest cyfrą kontrolną. Jeśli cyfrą kontrolną jest 10, numer ten nie może być używany jako PZN. Kod byłby zatem nieprawidłowy.

Przykład obliczeń:

Cyfry: 6 3 1 9 4 2
Waga: 2 3 4 5 6 7
Wyniki: 12+9+4+45+24+14 = 108
Obliczanie sumy kontrolnej: 108 / 11 = 9 Reszta 9
Cyfra kontrolna 9


ISBN-10 i suma kontrolna ISSN
Najpierw wszystkie cyfry są mnożone indywidualnie przez mnożnik. Mnożnik odpowiada pozycji cyfry 1 od prawej strony. Wszystkie otrzymane produkty są dodawane. Wynik jest następnie dzielony przez 11. Wynikowa reszta jest odejmowana od 11 i daje w wyniku cyfrę kontrolną.
Jeśli dla tej procedury obliczany jest wynik 11, suma kontrolna wynosi 0. W rezultacie 0 nie mogło zostać obliczone, ponieważ w poprzednim kroku (reszta z dzielenia przez 11) 11 jest niemożliwe jako wynik.
Może się również zdarzyć, że wymagana będzie cyfra 10. 10 jest reprezentowane przez X: "3-928444-00-X".

Przykład obliczeń:

Cyfry: 3 9 2 8 4 4 4 0 4
Waga: 10 9 8 7 6 5 4 3 2
Wyniki: 30 + 81 + 16 + 56 + 24 + 20 + 16 + 0 + 8 = 251
Obliczanie sumy kontrolnej: 251 / 11 = 22 Reszta 9 -> 11 - 9 = 2
Cyfra kontrolna 2

Modulo 16

ActiveBarcode: Info ActiveBarcode automatycznie oblicza cyfry kontrolne dla kodów kreskowych.
Nie ma potrzeby ręcznego obliczania ani dodawania tych cyfr kontrolnych. Niniejsza dokumentacja została dołączona wyłącznie w celu zapewnienia kompletności.
Obliczanie sumy kontrolnej zgodnie z Modulo 16:
Modulo 16 jest używane w symbolice kodów kreskowych Codabar. Oto przykład, jak obliczyć cyfrę kontrolną zgodnie z Modulo 16:

Cyfry: A 7 8 9 A
Numery referencyjne: 16 7 8 9 16
Suma numerów referencyjnych: 56
Obliczanie sumy kontrolnej: 56 / 16 = 3 Reszta 8
difference: 16 - 8 = 8
Cyfra kontrolna Numer referencyjny 8 = 8

Numery referencyjne:
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 automatycznie oblicza cyfry kontrolne dla kodów kreskowych.
Nie ma potrzeby ręcznego obliczania ani dodawania tych cyfr kontrolnych. Niniejsza dokumentacja została dołączona wyłącznie w celu zapewnienia kompletności.
Obliczanie sumy kontrolnej zgodnie z Modulo 43:
Cyfra kontrolna zgodna z Modulo 43 jest używana np. przez Code 39.

Po pierwsze, numery referencyjne są przypisywane do wszystkich znaków kodu. Te numery referencyjne są dodawane do sumy. Suma ta jest dzielona przez 43. Pozostała część tego podziału odpowiada sumie kontrolnej, która jest następnie zastępowana znakiem odpowiadającym numerowi referencyjnemu.

Przykład obliczeń:

Cyfry: 1 5 9 A Z
Numery referencyjne: 1 +5 +9 +10 +35
Suma numerów referencyjnych: 60
Obliczanie sumy kontrolnej: 60 / 43 = 1 Reszta 17
Cyfra kontrolna "H" (Numer referencyjny 17)

Numery referencyjne:
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 %


Przykład kodu do obliczania sumy kontrolnej zgodnie z Modulo 43

Kod Excel VBA do obliczania sumy kontrolnej zgodnie z Modulo 43, np. dla kodu 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 automatycznie oblicza cyfry kontrolne dla kodów kreskowych.
Nie ma potrzeby ręcznego obliczania ani dodawania tych cyfr kontrolnych. Niniejsza dokumentacja została dołączona wyłącznie w celu zapewnienia kompletności.
Obliczanie sumy kontrolnej zgodnie z Modulo 47:
Znak kontrolny zgodny z Modulo 47 jest używany np. przez Code 93.

Code 93 wykorzystuje 2 sumy kontrolne, tak zwaną sumę kontrolną C i tak zwaną sumę kontrolną K. Oba są obliczane zgodnie z tą samą zasadą. Jednak suma kontrolna K zawiera również sumę kontrolną C.

Podczas obliczeń numery referencyjne są najpierw przypisywane do wszystkich znaków kodu. Każda cyfra w kodzie ma przypisaną wagę i była zwiększana od tyłu. W związku z tym ostatnia pozycja ma wagę 1, przedostatnia pozycja wagę 2 itd. Numery referencyjne są mnożone w każdym przypadku przez wagę. Uzyskane wyniki indywidualne są sumowane.

Suma ta jest teraz dzielona przez 47. Pozostała część tego podziału odpowiada sumie kontrolnej, która jest kodowana jako znak przy użyciu numeru referencyjnego.

Suma kontrolna K jest określana w ten sam sposób. Jednak tym razem ciąg znaków kodu - podobnie jak w przypadku pierwszej sumy kontrolnej - plus suma kontrolna C są używane jako podstawa. Pierwsza ustalona suma kontrolna jest uwzględniana przy obliczaniu drugiej sumy kontrolnej.

Przykład obliczeń:

Checksum with Modulo47

Numery referencyjne 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