Controlecijferberekening

Controlecijfers voor barcodes berekenen

Modulo 10

ActiveBarcode: Info ActiveBarcode berekent automatisch controlecijfers voor barcodes.
Het is niet nodig om deze controlecijfers handmatig te berekenen of toe te voegen. Deze documentatie is uitsluitend opgenomen ter volledigheid.
Berekening van een controlesom volgens Modulo 10:
Een controlegetal volgens Modulo 10 wordt gebruikt door EAN-codes, bijvoorbeeld EAN-13.

Bij de EAN-codes wordt het controlecijfer berekend volgens de modulo 10-berekeningsmethode met weging 3. Weging 3 begint bij het eerste cijfer van rechts. Vervolgens worden de afzonderlijke cijfers vermenigvuldigd met de weging. Deze resultaten worden opgeteld tot een som. De modulo 10 wordt berekend uit deze som. Eerst wordt de som gedeeld door 10. De rest van de deling wordt van 10 afgetrokken. Het resultaat van deze aftrekking is de checksum/controlegetal.

Hieronder staat een rekenvoorbeeld voor Modulo 10 met een EAN-13 code:

Cijfers: 4 0 0 7 6 3 0 0 0 0 1 1
Gewicht: 1 3 1 3 1 3 1 3 1 3 1 3
Resultaten: 4+0+0+21+6+9+0+0+0+0+1+3 = 44
Controlesom berekenen: De optelling tot het volgende veelvoud van 10. (50)
Cijfer controleren 6


Bij de codes Code 25 wordt het controlecijfer ook berekend met weging 3 volgens de Modulo 10-berekeningsmethode. Weging 3 begint echter bij het eerste bruikbare cijfer van links. Vervolgens worden de individuele nuttige cijfers vermenigvuldigd met de weging. Deze resulterende resultaten worden opgeteld tot een som. De modulo 10 wordt berekend uit deze som. Eerst wordt de som gedeeld door 10. De rest van de deling wordt van 10 afgetrokken (het verschil tot 10 berekenen). Het resultaat van deze aftrekking is de checksum/controlegetal.

Hieronder zie je een rekenvoorbeeld voor Modulo 10 met Code 25:

Cijfers: 1 2 3 4 5
Gewicht: 3 1 3 1 3
Resultaten: 3+2+9+4+15 = 33
Controlesom berekenen: De optelling tot het volgende veelvoud van 10. (40)
Cijfer controleren 7


Met de Leitcode en de Identcode wordt het controlegetal ook berekend volgens de modulo 10-berekeningsmethode. De weging is hier echter anders: Weging van 4 voor oneven posities en 9 voor rechte posities. Hier is een voorbeeld:

Cijfers: 2 3 6 6 9 0 1 2 0 1 2 3 0
Gewicht: 4 9 4 9 4 9 4 9 4 9 4 9 4
Resultaten: 8+27+24+54+36+0+4+18+0+9+8+27+0 = 215
Controlesom berekenen: De optelling tot het volgende veelvoud van 10. (220)
Cijfer controleren 5


Een rekenvoorbeeld voor Modulo 10 met een EAN-14 / ITF-14 / SCC-14 / DUN-14 code:

Cijfers: 0 4 0 0 7 6 3 0 0 0 0 1 1
Gewicht: 3 1 3 1 3 1 3 1 3 1 3 1 3
Resultaten: 0+4+0+0+21+6+9+0+0+0+0+1+3 = 44
Controlesom berekenen: De optelling tot het volgende veelvoud van 10. (50)
Cijfer controleren 6

Modulo 11

ActiveBarcode: Info ActiveBarcode berekent automatisch controlecijfers voor barcodes.
Het is niet nodig om deze controlecijfers handmatig te berekenen of toe te voegen. Deze documentatie is uitsluitend opgenomen ter volledigheid.
Berekening van een controlesom volgens Modulo 11:
Een controlegetal volgens Modulo 11 wordt bijvoorbeeld gebruikt door PZN. Een Modulo 11 wordt ook gebruikt voor ISBN.

PZN
Eerst worden alle cijfers afzonderlijk vermenigvuldigd met een vermenigvuldigingsfactor. De vermenigvuldigingsfactor komt overeen met de positie van het cijfer 1. Alle resulterende producten worden opgeteld. Het resultaat wordt vervolgens gedeeld door 11. De resulterende rest is het controlegetal. Als het controlecijfer 10 is, wordt dit nummer niet als PZN gebruikt. De code zou daarom ongeldig zijn.

Een rekenvoorbeeld:

Cijfers: 6 3 1 9 4 2
Gewicht: 2 3 4 5 6 7
Resultaten: 12+9+4+45+24+14 = 108
Controlesom berekenen: 108 / 11 = 9 Rest 9
Cijfer controleren 9


De controlesom ISBN-10 en ISSN
Eerst worden alle cijfers afzonderlijk vermenigvuldigd met een vermenigvuldigingsfactor. De vermenigvuldigingsfactor komt overeen met de positie van het cijfer 1 van rechts. Alle resulterende producten worden opgeteld. Het resultaat wordt vervolgens gedeeld door 11. De resulterende rest wordt afgetrokken van 11 en resulteert in het controlecijfer.
Als resultaat 11 wordt berekend voor deze controlesomprocedure, is de controlesom 0. Het resultaat is dat de 0 niet berekend kon worden, omdat in de vorige stap (rest met deling door 11) 11 als resultaat onmogelijk is.
Het kan ook gebeuren dat het cijfer 10 nodig is. 10 wordt weergegeven door een X: "3-928444-00-X".

Een rekenvoorbeeld:

Cijfers: 3 9 2 8 4 4 4 0 4
Gewicht: 10 9 8 7 6 5 4 3 2
Resultaten: 30 + 81 + 16 + 56 + 24 + 20 + 16 + 0 + 8 = 251
Controlesom berekenen: 251 / 11 = 22 Rest 9 -> 11 - 9 = 2
Cijfer controleren 2

Modulo 16

ActiveBarcode: Info ActiveBarcode berekent automatisch controlecijfers voor barcodes.
Het is niet nodig om deze controlecijfers handmatig te berekenen of toe te voegen. Deze documentatie is uitsluitend opgenomen ter volledigheid.
Berekening van een controlesom volgens Modulo 16:
Modulo 16 wordt gebruikt door de barcodesymbologie Codabar. Hier is een voorbeeld van hoe je het controlegetal berekent volgens Modulo 16:

Cijfers: A 7 8 9 A
Referentienummers: 16 7 8 9 16
Som van referentienummers: 56
Controlesom berekenen: 56 / 16 = 3 Rest 8
difference: 16 - 8 = 8
Cijfer controleren Referentienummer 8 = 8

Referentienummers:
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 berekent automatisch controlecijfers voor barcodes.
Het is niet nodig om deze controlecijfers handmatig te berekenen of toe te voegen. Deze documentatie is uitsluitend opgenomen ter volledigheid.
Berekening van een controlesom volgens Modulo 43:
Een controlegetal volgens Modulo 43 wordt bijvoorbeeld gebruikt door de Code 39.

Eerst worden referentienummers toegekend aan alle tekens van de code. Deze referentienummers worden opgeteld tot een totaal. Deze som wordt gedeeld door 43. De rest van deze deling komt overeen met de controlesom, die vervolgens wordt vervangen door het teken dat overeenkomt met het referentienummer.

Een rekenvoorbeeld:

Cijfers: 1 5 9 A Z
Referentienummers: 1 +5 +9 +10 +35
Som van referentienummers: 60
Controlesom berekenen: 60 / 43 = 1 Rest 17
Cijfer controleren "H" (Referentienummer 17)

Referentienummers:
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 %


Codevoorbeeld voor het berekenen van de controlesom volgens Modulo 43

Excel VBA-code voor het berekenen van de controlesom volgens Modulo 43, bijvoorbeeld voor de HIBC-code:
' 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 berekent automatisch controlecijfers voor barcodes.
Het is niet nodig om deze controlecijfers handmatig te berekenen of toe te voegen. Deze documentatie is uitsluitend opgenomen ter volledigheid.
Berekening van een controlesom volgens Modulo 47:
Een controleteken volgens Modulo 47 wordt bijvoorbeeld gebruikt door de Code 93.

Code 93 gebruikt 2 controlesommen, de zogenaamde C controlesom en de zogenaamde K controlesom. Beide worden volgens hetzelfde principe berekend. De K controlesom bevat echter ook de C controlesom.

Tijdens de berekening worden eerst referentienummers toegekend aan alle tekens van de code. Aan elk cijfer in de code is een weging toegekend en het cijfer is van achteren oplopend. Dienovereenkomstig heeft de laatste positie gewicht 1, de voorlaatste positie gewicht 2, enzovoort. De referentienummers worden telkens vermenigvuldigd met de weging. De resulterende individuele resultaten worden bij elkaar opgeteld.

Dit totaal wordt nu gedeeld door 47. De rest van deze deling komt overeen met de controlesom, die wordt gecodeerd als een teken met behulp van het referentienummer.

De K controlesom wordt op dezelfde manier bepaald. Deze keer wordt echter de tekenreeks van de code - net als bij de eerste controlesom - plus de C controlesom gebruikt als basis. De eerste vastgestelde controlesom wordt meegenomen in de berekening van de tweede controlesom.

Een rekenvoorbeeld:

Checksum with Modulo47

Referentienummers 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