Контрольная цифра

редактировать

A Контрольная цифра - это форма проверки избыточности, используемая для обнаружения ошибок на идентификационные номера, такие как номера банковских счетов, которые используются в приложении, где они, по крайней мере, иногда будут вводиться вручную. Он аналогичен двоичному биту четности, используемому для проверки ошибок в компьютерных данных. Он состоит из одной или нескольких цифр , вычисленных алгоритмом из других цифр (или букв) во входной последовательности.

С помощью контрольной цифры можно обнаружить простые ошибки при вводе ряда символов (обычно цифр), таких как одна неправильно набранная цифра или некоторые перестановки двух последовательных цифр.

Содержание

  • 1 Дизайн
  • 2 Примеры
    • 2.1 UPC
    • 2.2 ISBN 10
    • 2.3 ISBN 13
    • 2.4 EAN (номера GLN, GTIN, EAN, администрируемые GS1)
    • 2.5 Другие примеры контрольных цифр
      • 2.5.1 Международный
      • 2.5.2 В США
      • 2.5.3 В Центральной Америке
      • 2.5.4 В Евразии
      • 2.5.5 В Океании
  • 3 Алгоритмы
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки

Дизайн

Алгоритмы контрольной цифры обычно предназначены для выявления человеческих ошибок транскрипции. В порядке сложности они включают следующее:

  • ошибки одной цифры, такие как 1 → 2
  • ошибки транспонирования, такие как 12 → 21
  • двойные ошибки, такие как 11 → 22
  • ошибка перестановки прыжка, например 132 → 231
  • двойная ошибка прыжка, например 131 → 232
  • фонетическая ошибка, например 60 → 16 (от "шестидесяти" до " шестнадцать ")

При выборе системы высокая вероятность обнаружения ошибок компенсируется сложностью реализации; простые системы контрольных цифр легко понимаются и реализуются людьми, но не улавливают столько ошибок, сколько сложные, для реализации которых требуются сложные программы.

Желательной особенностью является то, что заполнение слева нулями не должно изменять контрольную цифру. Это позволяет использовать цифры переменной длины и изменять длину. Если к исходному номеру добавляется одна контрольная цифра, система не всегда будет фиксировать множественные ошибки, такие как две ошибки замены (12 → 34), хотя, как правило, двойные ошибки обнаруживаются в 90% случаев (оба изменения будут необходимо изменить выпуск путем компенсации сумм).

Очень простой метод контрольной цифры - это взять сумму всех цифр (цифровая сумма ) по модулю 10. Это позволит отловить любую однозначную ошибку, так как такая ошибка всегда изменяет сумму, но не обнаруживает никаких ошибок транспонирования (переключения двух цифр), поскольку изменение порядка не меняет сумму.

Немного более сложный метод - взять взвешенную сумму цифр по модулю 10 с разными весами для каждой позиции числа.

Чтобы проиллюстрировать это, например, если бы веса для четырехзначного числа были 5, 3, 2, 7, а число, которое нужно закодировать, было 4871, тогда можно было бы взять 5 × 4 + 3 × 8 + 2 × 7 + 7 × 1 = 65, т.е. 65 по модулю 10, и контрольная цифра будет равна 5, что даст 48715.

Системы с весами 1, 3, 7 или 9 с весами соседних чисел будучи разными, широко используются: например, 31 31 весов в коде UPC, 13 13 весов в числах EAN (алгоритм GS1) и 371371371 весовых коэффициентов, используемых в США. банк маршрутизация транзитных номеров. Эта система обнаруживает все однозначные ошибки и около 90% ошибок транспонирования. 1, 3, 7 и 9 используются, потому что они взаимно просты с 10, поэтому изменение любой цифры изменяет контрольную цифру; использование коэффициента, который делится на 2 или 5, приведет к потере информации (потому что 5 × 0 = 5 × 2 = 5 × 4 = 5 × 6 = 5 × 8 = 0 по модулю 10) и, таким образом, не обнаружит некоторых однозначных ошибок. Использование разных весов для соседних чисел означает, что большинство операций транспонирования изменяют контрольную цифру; однако, поскольку все веса различаются на четное число, при этом не учитываются транспозиции двух цифр, различающихся на 5 (0 и 5, 1 и 6, 2 и 7, 3 и 8, 4 и 9), так как 2 и 5, чтобы получить 10.

Код ISBN-10 вместо этого использует модуль 11, который является простым, и все числовые позиции имеют разные веса 1, 2,... 10. Таким образом, эта система обнаруживает все однозначные числа. ошибки подстановки и перестановки (включая перестановку перехода), но ценой контрольной цифры, возможно, равной 10, представленной знаком "X". (Альтернативой является просто избегать использования серийных номеров, которые приводят к контрольной цифре «X».) ISBN-13 вместо этого использует алгоритм GS1, используемый в номерах EAN.

Более сложные алгоритмы включают алгоритм Луна (1954), который улавливает 98% ошибок транспонирования однозначных цифр (он не обнаруживает 90 ↔ 09), и еще более сложный Verhoeff алгоритм (1969), который улавливает все ошибки подстановки и транспонирования одной цифры, а также многие (но не все) более сложные ошибки. Сходным является другой метод, основанный на абстрактной алгебре, алгоритм Дамма (2004), который также обнаруживает все однозначные ошибки и все смежные ошибки транспонирования. Эти три метода используют одну контрольную цифру и, следовательно, не могут выявить около 10% более сложных ошибок. Чтобы уменьшить эту частоту отказов, необходимо использовать более одной контрольной цифры (например, проверка по модулю 97, упомянутая ниже, которая использует две контрольные цифры - для алгоритма см. Международный номер банковского счета ) и / или использовать более широкий диапазон символов в контрольной цифре, например буквы плюс цифры.

Примеры

UPC

Последняя цифра универсального кода продукта - это контрольная цифра, вычисляемая следующим образом:

  1. Добавьте цифры в Позиции с нечетными номерами справа (первая, третья, пятая и т. д. - не включая контрольную цифру) вместе и умножаются на три.
  2. Сложите цифры (до контрольной цифры, но не включая ее) в четные позиции (вторая, четвертая, шестая и т. д.) результата.
  3. Возьмите остаток результата, разделенный на 10 (то есть операция по модулю 10). Если остаток равен 0, используйте 0 в качестве контрольной цифры, а если не 0, вычтите остаток из 10, чтобы получить контрольную цифру.

Например, штрих-код UPC-A для коробки салфеток - "036000241457". Последняя цифра - это контрольная цифра "7", и если другие числа верны, то вычисление контрольной цифры должно дать 7.

  1. Сложите цифры нечетного числа: 0 + 6 + 0 + 2 + 1 + 5 = 14.
  2. Умножьте результат на 3: 14 × 3 = 42.
  3. Сложите четные цифры: 3 + 0 + 0 + 4 + 4 = 11.
  4. Добавьте два результата вместе: 42 + 11 = 53.
  5. Чтобы вычислить контрольную цифру, возьмите остаток от (53/10), который также известен как (53 по модулю 10), и, если не 0, вычтите из 10. Следовательно, значение контрольной цифры 7. т.е. (53/10) = 5, остаток 3; 10 - 3 = 7.

Другой пример: вычислить контрольную цифру для следующего продукта питания «01010101010 x ».

  1. Сложите цифры нечетного числа: 0 + 0 + 0 + 0 + 0 + 0 = 0.
  2. Умножьте результат на 3: 0 x 3 = 0.
  3. Сложите четное число цифр: 1 + 1 + 1 + 1 + 1 = 5.
  4. Сложите два результата вместе: 0 + 5 = 5.
  5. Чтобы вычислить контрольную цифру, возьмите остаток от ( 5/10), который также известен как (5 по модулю 10), и если не 0, вычтите из 10: т.е. (5/10) = 0 остаток 5; (10-5) = 5. Следовательно, значение контрольной цифры x равно 5.

ISBN 10

Последний символ десятизначного международного стандартного книжного номера . - это контрольная цифра, вычисляемая таким образом, что умножение каждой цифры на ее позицию в числе (считая справа) и взятие суммы этих произведений по модулю 11 дает 0. Цифра, крайняя справа (который умножается на 1) - это контрольная цифра, выбранная, чтобы сделать сумму правильной. Может потребоваться значение 10, которое представлено буквой X. Например, возьмите ISBN 0-201-53082-1 ​​ : сумма произведений равна 0 × 10 + 2 × 9 + 0 × 8 + 1 × 7 + 5 × 6 + 3 × 5 + 0 × 4 + 8 × 3 + 2 × 2 + 1 × 1 = 99 ≡ 0 (модуль 11). Итак, ISBN действителен. Обратите внимание, что позиции также можно отсчитывать слева, и в этом случае контрольная цифра умножается на 10 для проверки действительности: 0 × 1 + 2 × 2 + 0 × 3 + 1 × 4 + 5 × 5 + 3 × 6 + 0 × 7 + 8 × 8 + 2 × 9 + 1 × 10 = 143 ≡ 0 (мод 11).

ISBN 13

ISBN 13 (используется с января 2007 г.) соответствует коду EAN-13, указанному под штрих-кодом книги. Его контрольная цифра генерируется так же, как и UPC, за исключением того, что четные цифры умножаются на 3 вместо нечетных.

EAN (номера GLN, GTIN, EAN, администрируемые GS1)

Контрольные цифры EAN (европейский артикульный номер ) (управляемые GS1 ) вычисляются путем суммирования каждого из нечетных номеров позиций, умноженных на 3, а затем путем сложения суммы четных номеров позиций. Числа проверяются справа налево, поэтому первая нечетная позиция - это последняя цифра в коде. Последняя цифра результата вычитается из 10 для вычисления контрольной цифры (или остается как есть, если она уже равна нулю). Калькулятор контрольных цифр GS1 и подробная документация находятся на веб-сайте GS1. Другая официальная страница калькулятора показывает, что механизм для GTIN-13 такой же для Global Location Number / GLN.

Другие примеры контрольных цифр

International

  • Международный номер SEDOL.
  • Последняя цифра кода ISSN или номер IMO.
  • Международный идентификационный номер ценных бумаг (ISIN).
  • Группа управления объектами FIGI стандартная последняя цифра.
  • Последняя цифра международного регистрационного номера CAS.
  • Контрольные цифры по модулю 10 в номера счетов, вычисленные по алгоритму Луна.
    • Также используются в норвежских номерах KID (идентификационный номер клиента), используемых в банковских жиро (перевод кредита),
    • Используется в IMEI мобильных телефонов.
  • Последняя контрольная цифра в сериализации EAN / UPC глобального торгового идентификационного номера (GTIN ). Он применяется к номерам GTIN-8, GTIN-12, GTIN-13 и GTIN-14.
  • Последняя цифра числа DUNS (хотя это планируется изменить, например, последняя цифра будет выбрана свободно при новом распределении, а не будет контрольной цифрой).
  • Третья и четвертая цифры в Международном номере банковского счета (проверка по модулю 97).
  • Последняя цифра в Международном стандартном текстовом коде.
  • Последний символ, закодированный на карте с магнитной полосой , представляет собой вычисленный Продольный контроль избыточности.

В США

В Центральной Америке

  • налоговый номер Гватемалы (NIT - Número de Identificación Tributaria) на основе по модулю 11.

В Евразии

В Океании

Алгоритмы

Известные алгоритмы включают:

См. Также

Ссылки

Внешние ссылки

На Викискладе есть носители, связанные с контрольной цифрой.
Последняя правка сделана 2021-05-14 09:07:22
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте