Расчет контрольной цифры

Расчет контрольных цифр для штрих-кодов

Modulo 10

ActiveBarcode: Info ActiveBarcode автоматически рассчитывает контрольные цифры для штрих-кодов.
Нет необходимости вычислять или добавлять эти контрольные цифры вручную. Данная документация включена исключительно для полноты информации.
Расчет контрольной суммы по модулю 10:
Контрольная цифра по модулю 10 используется в кодах EAN, например, EAN-13.

В кодах EAN контрольная цифра рассчитывается по методу вычисления по модулю 10 с весом 3. Взвешивание 3 начинается с первой цифры справа. Затем отдельные цифры умножаются на весовой коэффициент. Эти результаты суммируются. Модуль 10 рассчитывается из этой суммы. Сначала сумма делится на 10. Остаток деления вычитается из 10. Результатом этого вычитания является контрольная сумма/контрольная цифра.

Ниже приведен пример расчета для модуля 10 с использованием кода EAN-13:

Цифры: 4 0 0 7 6 3 0 0 0 0 1 1
Вес: 1 3 1 3 1 3 1 3 1 3 1 3
Результаты: 4+0+0+21+6+9+0+0+0+0+1+3 = 44
Рассчитать контрольную сумму: Добавление к следующему кратному 10. (50)
Контрольная цифра 6


В кодах Code 25 контрольная цифра также рассчитывается с весом 3 в соответствии с методом расчета Modulo 10. Однако взвешивание 3 начинается с первого значимого разряда слева. Затем отдельные значимые цифры умножаются на весовой коэффициент. Полученные результаты суммируются. Модуль 10 рассчитывается из этой суммы. Сначала сумма делится на 10. Остаток деления вычитается из 10 (вычисляется разница до 10). Результатом этого вычитания является контрольная сумма/контрольная цифра.

Ниже представлен пример расчета для модуля 10 с использованием кода 25:

Цифры: 1 2 3 4 5
Вес: 3 1 3 1 3
Результаты: 3+2+9+4+15 = 33
Рассчитать контрольную сумму: Добавление к следующему кратному 10. (40)
Контрольная цифра 7


С помощью Leitcode и Identcode контрольная цифра также рассчитывается по методу вычисления по модулю 10. Однако в данном случае весовые коэффициенты различны: Вес 4 для нечетных позиций и 9 для четных позиций. Вот пример:

Цифры: 2 3 6 6 9 0 1 2 0 1 2 3 0
Вес: 4 9 4 9 4 9 4 9 4 9 4 9 4
Результаты: 8+27+24+54+36+0+4+18+0+9+8+27+0 = 215
Рассчитать контрольную сумму: Добавление к следующему кратному 10. (220)
Контрольная цифра 5


Пример расчета для модуля 10 с использованием кода EAN-14 / ITF-14 / SCC-14 / DUN-14:

Цифры: 0 4 0 0 7 6 3 0 0 0 0 1 1
Вес: 3 1 3 1 3 1 3 1 3 1 3 1 3
Результаты: 0+4+0+0+21+6+9+0+0+0+0+1+3 = 44
Рассчитать контрольную сумму: Добавление к следующему кратному 10. (50)
Контрольная цифра 6

Modulo 11

ActiveBarcode: Info ActiveBarcode автоматически рассчитывает контрольные цифры для штрих-кодов.
Нет необходимости вычислять или добавлять эти контрольные цифры вручную. Данная документация включена исключительно для полноты информации.
Расчет контрольной суммы по модулю 11:
Контрольная цифра по модулю 11 используется, например, в PZN. Модуль 11 также используется в ISBN.

PZN
Сначала все цифры умножаются по отдельности на множитель. Множитель соответствует положению цифры 1. Все полученные результаты складываются. Затем результат делится на 11. Полученный остаток является контрольной цифрой. Если контрольная цифра равна 10, это число не должно использоваться в качестве PZN. Таким образом, код будет недействительным.

Пример расчета:

Цифры: 6 3 1 9 4 2
Вес: 2 3 4 5 6 7
Результаты: 12+9+4+45+24+14 = 108
Рассчитать контрольную сумму: 108 / 11 = 9 Остаток 9
Контрольная цифра 9


Контрольная сумма ISBN-10 и ISSN
Сначала все цифры умножаются по отдельности на множитель. Множитель соответствует положению цифры 1 справа. Все полученные результаты складываются. Затем результат делится на 11. Полученный остаток вычитается из 11, и в результате получается контрольная цифра.
Если в результате данной процедуры вычисления контрольной суммы получен результат 11, то контрольная сумма равна 0. В результате 0 не может быть вычислено, поскольку на предыдущем этапе (остаток при делении на 11) 11 невозможно в качестве результата.
Также может возникнуть необходимость в использовании цифры 10. 10 обозначается буквой X: «3-928444-00-X».

Пример расчета:

Цифры: 3 9 2 8 4 4 4 0 4
Вес: 10 9 8 7 6 5 4 3 2
Результаты: 30 + 81 + 16 + 56 + 24 + 20 + 16 + 0 + 8 = 251
Рассчитать контрольную сумму: 251 / 11 = 22 Остаток 9 -> 11 - 9 = 2
Контрольная цифра 2

Modulo 16

ActiveBarcode: Info ActiveBarcode автоматически рассчитывает контрольные цифры для штрих-кодов.
Нет необходимости вычислять или добавлять эти контрольные цифры вручную. Данная документация включена исключительно для полноты информации.
Расчет контрольной суммы по модулю 16:
Модуль 16 используется в штрихкодовой символике Codabar. Ниже приведен пример расчета контрольной цифры по модулю 16:

Цифры: A 7 8 9 A
Референсные номера: 16 7 8 9 16
Сумма справочных номеров: 56
Рассчитать контрольную сумму: 56 / 16 = 3 Остаток 8
difference: 16 - 8 = 8
Контрольная цифра Референсный номер 8 = 8

Референсные номера:
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 автоматически рассчитывает контрольные цифры для штрих-кодов.
Нет необходимости вычислять или добавлять эти контрольные цифры вручную. Данная документация включена исключительно для полноты информации.
Расчет контрольной суммы по модулю 43:
Контрольная цифра по модулю 43 используется, например, в коде 39.

Во-первых, всем символам кода присваиваются справочные номера. Эти справочные номера добавляются к общей сумме. Эта сумма делится на 43. Остальная часть этого раздела соответствует контрольной сумме, которая затем заменяется символом, соответствующим справочному номеру.

Пример расчета:

Цифры: 1 5 9 A Z
Референсные номера: 1 +5 +9 +10 +35
Сумма справочных номеров: 60
Рассчитать контрольную сумму: 60 / 43 = 1 Остаток 17
Контрольная цифра "H" (Референсный номер 17)

Референсные номера:
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

Код Excel VBA для расчета контрольной суммы по модулю 43, например, для кода 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 автоматически рассчитывает контрольные цифры для штрих-кодов.
Нет необходимости вычислять или добавлять эти контрольные цифры вручную. Данная документация включена исключительно для полноты информации.
Расчет контрольной суммы по модулю 47:
Контрольный символ по модулю 47 используется, например, в коде 93.

Код 93 использует две контрольные суммы: так называемую контрольную сумму C и так называемую контрольную сумму K. Оба рассчитываются по одному и тому же принципу. Однако контрольная сумма K также содержит контрольную сумму C.

В ходе расчета сначала всем символам кода присваиваются справочные номера. Каждой цифре в коде присваивается вес, который увеличивается по порядку. Соответственно, последняя позиция имеет вес 1, предпоследняя позиция — вес 2 и так далее. В каждом случае справочные номера умножаются на весовой коэффициент. Полученные индивидуальные результаты суммируются.

Эта сумма теперь делится на 47. Остальная часть этого раздела соответствует контрольной сумме, которая кодируется как символ с использованием справочного номера.

Контрольная сумма K определяется аналогичным образом. Однако в данном случае в качестве основы используется строка символов кода, как и в случае с первой контрольной суммой, плюс контрольная сумма C. Первая определенная контрольная сумма включается в расчет второй контрольной суммы.

Пример расчета:

Checksum with Modulo47

Референсные номера 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