Kontrol rakamı hesaplama

Barkodlar için kontrol rakamlarının hesaplanması

Modulo 10

ActiveBarcode: Info ActiveBarcode, barkodlar için kontrol rakamlarını otomatik olarak hesaplar.
Bu kontrol rakamlarını manuel olarak hesaplamanıza veya eklemenize gerek yoktur. Bu belge, yalnızca eksiksiz olması amacıyla eklenmiştir.
Modulo'ya göre bir sağlama toplamının hesaplanması 10:
Modulo 10'a göre bir kontrol basamağı EAN kodları tarafından kullanılır, örneğin EAN-13.

EAN kodları ile kontrol basamağı modulo 10 hesaplama yöntemine göre 3 ağırlıklandırma ile hesaplanır. Ağırlıklandırma 3 sağdan ilk basamaktan başlar. Daha sonra tek tek rakamlar ağırlıklandırma ile çarpılır. Bu sonuçlar bir toplama eklenir. Modulo 10 bu toplamdan hesaplanır. Önce toplam 10'a bölünür. Bölme işleminden kalan 10'dan çıkarılır. Bu çıkarma işleminin sonucu sağlama toplamı/kontrol basamağıdır.

Aşağıda EAN-13 kodu kullanılarak Modulo 10 için bir hesaplama örneği verilmiştir:

Rakamlar: 4 0 0 7 6 3 0 0 0 0 1 1
Ağırlık: 1 3 1 3 1 3 1 3 1 3 1 3
Sonuçlar: 4+0+0+21+6+9+0+0+0+0+1+3 = 44
Sağlama toplamını hesapla: 10'un bir sonraki katına ekleme. (50)
Rakamı kontrol et 6


Code 25 Kodları ile kontrol basamağı da Modulo 10 hesaplama yöntemine göre 3 ağırlık ile hesaplanır. Ancak, ağırlıklandırma 3 soldan ilk faydalı rakamdan başlar. Daha sonra bireysel faydalı rakamlar ağırlıklandırma ile çarpılır. Elde edilen bu sonuçlar bir toplama eklenir. Modulo 10 bu toplamdan hesaplanır. Önce toplam 10'a bölünür. Bölme işleminden kalan 10'dan çıkarılır (10'a farkı hesaplayın). Bu çıkarma işleminin sonucu sağlama toplamı/kontrol basamağıdır.

Aşağıda Kod 25'i kullanarak Modulo 10 için bir hesaplama örneği görebilirsiniz:

Rakamlar: 1 2 3 4 5
Ağırlık: 3 1 3 1 3
Sonuçlar: 3+2+9+4+15 = 33
Sağlama toplamını hesapla: 10'un bir sonraki katına ekleme. (40)
Rakamı kontrol et 7


Leitcode ve Identcode ile kontrol basamağı da modulo 10 hesaplama yöntemine göre hesaplanır. Ancak burada ağırlıklandırma farklıdır: Tek pozisyonlar için 4 ve düz pozisyonlar için 9 ağırlıklandırma. İşte bir örnek:

Rakamlar: 2 3 6 6 9 0 1 2 0 1 2 3 0
Ağırlık: 4 9 4 9 4 9 4 9 4 9 4 9 4
Sonuçlar: 8+27+24+54+36+0+4+18+0+9+8+27+0 = 215
Sağlama toplamını hesapla: 10'un bir sonraki katına ekleme. (220)
Rakamı kontrol et 5


EAN-14 / ITF-14 / SCC-14 / DUN-14 kodu kullanılarak Modulo 10 için bir hesaplama örneği:

Rakamlar: 0 4 0 0 7 6 3 0 0 0 0 1 1
Ağırlık: 3 1 3 1 3 1 3 1 3 1 3 1 3
Sonuçlar: 0+4+0+0+21+6+9+0+0+0+0+1+3 = 44
Sağlama toplamını hesapla: 10'un bir sonraki katına ekleme. (50)
Rakamı kontrol et 6

Modulo 11

ActiveBarcode: Info ActiveBarcode, barkodlar için kontrol rakamlarını otomatik olarak hesaplar.
Bu kontrol rakamlarını manuel olarak hesaplamanıza veya eklemenize gerek yoktur. Bu belge, yalnızca eksiksiz olması amacıyla eklenmiştir.
Modulo'ya göre bir sağlama toplamının hesaplanması 11:
Modulo 11'e göre bir kontrol basamağı örneğin PZN tarafından kullanılır. ISBN için de bir Modulo 11 kullanılır.

PZN
İlk olarak tüm rakamlar bir çarpan ile ayrı ayrı çarpılır. Çarpan, 1 rakamının konumuna karşılık gelir. Elde edilen tüm ürünler toplanır. Sonuç daha sonra 11'e bölünür. Ortaya çıkan kalan kontrol basamağıdır. Kontrol hanesi 10 ise, bu numara PZN olarak kullanılmayacaktır. Bu nedenle kod geçersiz olacaktır.

Bir hesaplama örneği:

Rakamlar: 6 3 1 9 4 2
Ağırlık: 2 3 4 5 6 7
Sonuçlar: 12+9+4+45+24+14 = 108
Sağlama toplamını hesapla: 108 / 11 = 9 Kalan 9
Rakamı kontrol et 9


ISBN-10 ve ISSN sağlama toplamı
İlk olarak tüm rakamlar bir çarpan ile ayrı ayrı çarpılır. Çarpan, sağdan 1 rakamının konumuna karşılık gelir. Elde edilen tüm ürünler toplanır. Sonuç daha sonra 11'e bölünür. Elde edilen kalan 11'den çıkarılır ve kontrol basamağı elde edilir.
Bu sağlama toplamı prosedürü için sonuç 11 hesaplanırsa, sağlama toplamı 0 olur. Sonuç olarak 0 hesaplanamamıştır, çünkü önceki adımda (11'e bölme ile kalan) sonuç olarak 11 imkansızdır.
Ayrıca 10 rakamının gerekli olduğu durumlar da olabilir. 10 bir X ile temsil edilir: "3-928444-00-X".

Bir hesaplama örneği:

Rakamlar: 3 9 2 8 4 4 4 0 4
Ağırlık: 10 9 8 7 6 5 4 3 2
Sonuçlar: 30 + 81 + 16 + 56 + 24 + 20 + 16 + 0 + 8 = 251
Sağlama toplamını hesapla: 251 / 11 = 22 Kalan 9 -> 11 - 9 = 2
Rakamı kontrol et 2

Modulo 16

ActiveBarcode: Info ActiveBarcode, barkodlar için kontrol rakamlarını otomatik olarak hesaplar.
Bu kontrol rakamlarını manuel olarak hesaplamanıza veya eklemenize gerek yoktur. Bu belge, yalnızca eksiksiz olması amacıyla eklenmiştir.
Modulo'ya göre bir sağlama toplamının hesaplanması 16:
Modulo 16, Codabar barkod sembolojisi tarafından kullanılır. İşte Modulo 16'ya göre kontrol basamağının nasıl hesaplanacağına dair bir örnek:

Rakamlar: A 7 8 9 A
Referans numaraları: 16 7 8 9 16
Referans numaralarının toplamı: 56
Sağlama toplamını hesapla: 56 / 16 = 3 Kalan 8
difference: 16 - 8 = 8
Rakamı kontrol et Referans numarası 8 = 8

Referans numaraları:
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, barkodlar için kontrol rakamlarını otomatik olarak hesaplar.
Bu kontrol rakamlarını manuel olarak hesaplamanıza veya eklemenize gerek yoktur. Bu belge, yalnızca eksiksiz olması amacıyla eklenmiştir.
Modulo'ya göre bir sağlama toplamının hesaplanması 43:
Modulo 43'e göre bir kontrol basamağı örneğin Code 39 tarafından kullanılır.

İlk olarak, kodun tüm karakterlerine referans numaraları atanır. Bu referans numaraları bir toplama eklenir. Bu toplam 43'e bölünür. Bu bölümün geri kalanı sağlama toplamına karşılık gelir ve daha sonra referans numarasına karşılık gelen karakterle değiştirilir.

Bir hesaplama örneği:

Rakamlar: 1 5 9 A Z
Referans numaraları: 1 +5 +9 +10 +35
Referans numaralarının toplamı: 60
Sağlama toplamını hesapla: 60 / 43 = 1 Kalan 17
Rakamı kontrol et "H" (Referans numarası 17)

Referans numaraları:
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 %


Modulo 43'e göre sağlama toplamını hesaplamak için kod örneği

Modulo 43'e göre sağlama toplamını hesaplamak için Excel VBA Kodu, örneğin HIBC kodu için:
' 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, barkodlar için kontrol rakamlarını otomatik olarak hesaplar.
Bu kontrol rakamlarını manuel olarak hesaplamanıza veya eklemenize gerek yoktur. Bu belge, yalnızca eksiksiz olması amacıyla eklenmiştir.
Modulo'ya göre bir sağlama toplamının hesaplanması 47:
Modulo 47'ye göre bir kontrol karakteri örneğin Code 93 tarafından kullanılır.

Code 93, C sağlama toplamı ve K sağlama toplamı olarak adlandırılan 2 sağlama toplamı kullanır. Her ikisi de aynı prensibe göre hesaplanır. Ancak, K sağlama toplamı aynı zamanda C sağlama toplamını da içerir.

Hesaplama sırasında ilk olarak kodun tüm karakterlerine referans numaraları atanır. Koddaki her bir rakama bir ağırlık atanmış ve arkadan artmıştır. Buna göre, son konum 1 ağırlığına, sondan bir önceki konum 2 ağırlığına sahiptir ve bu böyle devam eder. Referans numaraları her durumda ağırlıklandırma ile çarpılır. Elde edilen bireysel sonuçlar toplanır.

Bu toplam şimdi 47'ye bölünmüştür. Bu bölümün geri kalanı, referans numarası kullanılarak bir karakter olarak kodlanan sağlama toplamına karşılık gelir.

K sağlama toplamı da aynı şekilde belirlenir. Ancak, bu kez kodun karakter dizisi - ilk sağlama toplamında olduğu gibi - artı C sağlama toplamı temel olarak kullanılır. İlk belirlenen sağlama toplamı ikinci sağlama toplamının hesaplanmasına dahil edilir.

Bir hesaplama örneği:

Checksum with Modulo47

Referans numaraları 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