Проверьте цифру
Проверка цифра - это форма проверки избыточности, используемой для обнаружения ошибок на идентификационных номерах, таких как номера банковских счетов, которые используются в приложении, где они, по крайней мере, иногда будут вводить вручную. Это аналогично бинарному битовому паритету, используемому для проверки ошибок в компьютерных данных. Он состоит из одной или нескольких цифр (или букв), рассчитанных с помощью алгоритма из других цифр (или букв) при вводе последовательности. [ 1 ]
С помощью контрольной цифры можно обнаружить простые ошибки при вводе серии символов (обычно цифр), таких как одна миматная цифра или некоторые перестановки двух последовательных цифр.
Дизайн
[ редактировать ]проверки цифр Алгоритмы обычно предназначены для захвата человека ошибок транскрипции . В порядке сложности они включают следующее: [ 2 ]
- Ошибки букв/цифр, такие как L → 1 или O → 0
- Ошибки с одной цифрой, такие как 1 → 2
- Ошибки транспозиции, такие как 12 → 21
- Двойные ошибки, такие как 11 → 22
- Ошибки переноса переходов, такие как 132 → 231
- Прыгайте двойные ошибки, такие как 131 → 232
- Фонетические ошибки, такие как 60 → 16 («шестьдесят» до «шестнадцати»)
При выборе системы высокая вероятность улавливания ошибок торгуется против сложности реализации; Простые системы проверки цифр легко понимают и реализуются людьми, но не привлекают столько ошибок, сколько сложных, которые требуют сложных программ для реализации.
Желаемая особенность заключается в том, что левая утилизация с нулями не должна изменять контрольную цифру. Это позволяет использовать числа переменной длины и изменять длину. Если к исходному номеру добавлена единая проверка цифра, система не всегда будет принимать множество ошибок, таких как две ошибки замены (12 → 34), хотя, как правило, двойные ошибки будут пойманы в 90% случаев (оба изменения будут необходимо изменить выход, смещая суммы).
Очень простой метод проверки цифр-это принять сумму всех цифр ( цифровая сумма ). Модуль 10. Это пойдет на любую однозначную ошибку, так как такая ошибка всегда будет изменять сумму, но не улавливает ошибки транспозиции (переключение Две цифры) в качестве повторного упорядочения не изменяет сумму.
Немного более сложный метод состоит в том, чтобы взять взвешенную сумму цифр, Modulo 10, с различными весами для каждого положения числа.
Чтобы проиллюстрировать это, например, если веса для четырехзначного числа составляли 5, 3, 2, 7, а число, которое должно быть кодировано, составляло 4871, то можно было бы потребоваться 5 × 4 + 3 × 8 + 2 × 7 + 7 × 1 = 65, т.е. 65 Modulo 10, а чековая цифра будет 5, давая 48715.
Системы с весами 1, 3, 7 или 9, причем веса на соседних числах различаются, широко используются: например, 31 31 вес в кодах UPC , 13 13 весов в числах EAN (алгоритм GS1) и 371 371 371 Веса, используемые в банковской маршрутизации Банковской маршрутизации . Эта система обнаруживает все однозначные ошибки и около 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 использует Modulo 11, который является основным, и все позиции числа имеют разные веса 1, 2, ... 10. Таким образом, эта система обнаруживает все однозначные ошибки замещения и транспозиции (включая переходные переводы), но, но, но, но, но, но, но, но, но, но, но, но, но, но, но, но за счет чековой цифры, возможно, 10, представленная «X». (Альтернатива состоит в том, чтобы просто избежать использования серийных чисел, которые приводят к проверке «x».
Более сложные алгоритмы включают алгоритм Luhn (1954), который захватывает 98% ошибок транспозиции в однозначной степени (он не обнаруживает 90 ↔ 09) и еще более сложный алгоритм Verhoeff (1969), который ловит все однозначные позы и транспонирование. ошибки и многие (но не все) более сложные ошибки. Аналогичный метод на основе алгебры , алгоритм Damm (2004), который также обнаруживает все однозначные ошибки и все смежные ошибки транспозиции. Эти три метода используют одну контрольную цифру и, следовательно, не смогут захватить около 10% [ Цитация необходима ] более сложных ошибок. Чтобы снизить эту частоту отказов, необходимо использовать более чем одну контрольную цифру (например, проверка Modulo 97, указанная ниже, в которой используются две контрольные цифры - для алгоритма, см. Международный номер банковского счета ) и/или для использования Более широкий диапазон символов в контрольной цифре, например, буквы плюс числа.
Примеры
[ редактировать ]UPC, EAN, GLN, GTIN, Числа, управляемые GS1
[ редактировать ]Окончательная цифра универсального кода продукта , международный номер статьи , глобальный номер местоположения или номер глобальной торговли является проверенной цифрой, рассчитанной следующим образом: [ 3 ] [ 4 ]
- Добавьте цифры в нечетных позициях слева (первый, третий, пятый и т. Д.-не включая проверку) вместе и умножьте на три.
- Добавьте цифры (вплоть до, но не включать в себя контрольную цифру) в равномерные положения (второй, четвертый, шестой и т. Д.).
- Возьмите оставшуюся часть результата, разделенного на 10 (то есть операция Modulo 10). Если остальная часть равна 0, используйте 0 в качестве контрольной цифры, и если не 0 вычитайте остаток из 10, чтобы получить контрольную цифру.
Калькулятор цифр GS1 и подробная документация находится в Интернете на веб -сайте GS1. [ 5 ] Другая официальная страница калькулятора показывает, что механизм GTIN-13 одинаково для глобального номера местоположения /GLN. [ 6 ]
Например, штрих-код UPC-A для коробки тканей-«036000241457». Последняя цифра - это контрольная цифра «7», и если другие числа верны, то расчет контрольной цифры должен создать 7.
- Добавьте нечетные цифры: 0+6+0+2+1+5 = 14.
- Умножьте результат на 3: 14 × 3 = 42.
- Добавьте четные цифры: 3+0+0+4+4 = 11.
- Добавьте два результата вместе: 42 + 11 = 53.
- Чтобы вычислить контрольную цифру, возьмите оставшуюся часть (53 /10), которая также известна как (53 Modulo 10), а если нет 0, вычтите из 10. Следовательно, значение проверки цифры - 7. IE (53 /10 ) = 5 остаток 3; 10 - 3 = 7.
Другой пример: для расчета контрольной цифры для следующего продукта питания "01010101010 x ".
- Добавьте нечетные цифры: 0+0+0+0+0+0 = 0.
- Умножьте результат на 3: 0 x 3 = 0.
- Добавьте четные цифры: 1+1+1+1+1 = 5.
- Добавьте два результата вместе: 0 + 5 = 5.
- Чтобы рассчитать контрольную цифру, возьмите оставшуюся часть (5/10), которая также известна как (5 Modulo 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. [ 7 ]
NCDA
[ редактировать ]Алгоритм Noid -проверки цифр (NCDA), [ 8 ] Используя с 2004 года, предназначен для применения в постоянных идентификаторах и работает с строками букв и цифр переменной длины, называемых расширенными цифрами. Он широко используется с схемой идентификатора ARK и несколько используется со схемами, такими как система ручки и DOI . Расширенная цифра ограничена бетанумерными символами, которые являются буквенно -линейными гласными и буквой «L» (ELL). Это ограничение помогает при генерации непрозрачных строк, которые вряд ли будут сформировать слова случайно и не будут содержать как O, так и 0, или L и 1. Наличие основного радикса r = 29, бетамерный репертуар позволяет алгоритму гарантировать обнаружение одноразового. Ошибки характера и транспозиции [ 9 ] для струн меньше r = 29 символов в длину (за пределами которого он обеспечивает немного более слабую проверку). Алгоритм обобщается на любой репертуар персонажа с первичным Radix R и струнами меньше, чем R -символы.
Другие примеры чековых цифр
[ редактировать ]Международный
[ редактировать ]- Международный номер седола.
- Окончательная цифра кода ISSN или номер IMO .
- Международные ценные бумаги, определяющие число (ISIN).
- Группа управления объектами Figi Стандартная окончательная цифра. [ 10 ]
- CAS Последняя цифра реестра .
- Modulo 10 чеков цифр в номерах счетов кредитной карты , рассчитанные по алгоритму Luhn .
- Также используется в номерах норвежского ребенка (идентификационного номера клиентов), используемых в банке Giros (перевод кредита),
- Используется в IMEI мобильных телефонов.
- Последняя контрольная цифра в сериализации EAN/UPC мировой торговой идентификации ( GTIN ). Это относится к GTIN-8, GTIN-12, GTIN-13 и GTIN-14.
- Окончательная цифра номера DUNS (хотя это планируется измениться, например, окончательная цифра будет выбрана свободно в новых ассигнованиях, а не является контрольной цифрой).
- Третья и четвертая цифра в номере международного банковского счета (чек Modulo 97).
- Окончательная цифра в международном стандартном текстовом коде .
- Конечный символ, кодируемый в карте магнитной полосы, представляет собой вычисленную продольную проверку избыточности .
В США
[ редактировать ]- Десятая цифра идентификатора национального поставщика для индустрии здравоохранения США.
- Окончательная цифра кода пост -сети .
- Номер североамериканского разговора .
- Окончательная (девятая) цифра транзитного номера маршрутизации ABA , банка, используемого в Соединенных Штатах.
- Девятая цифра идентификационного номера транспортного средства (VIN).
- в клинике Мейо, используемые в Аризоне и Флориде Номера идентификации пациента [ Цитация необходима ] .
- Одиннадцатая цифра таможенного и пограничного входа.
В Центральной Америке
[ редактировать ]- Гватемальский налоговый номер (NIT - налоговый идентификационный номер) на основе модуля 11.
В Евразии
[ редактировать ]- Великобритании Номер NHS использует алгоритм Modulo 11.
- Фискальный идентификационный номер (фискальный идентификационный номер, NIF) (на основе модуля 23).
- Голландский Burgerservicenummer ( BSN ) (национальный идентификатор) использует алгоритм Modulo 11.
- Девятая цифра номера израильского тедата Зехута (удостоверения личности).
- 13 -я цифра сербского и бывшего югославского уникального числа Мастера -граждан (JMBG). (Но не все из них, из-за ошибок или нерезидентности)
- Последние две цифры 11-значного турецкого идентификационного номера ( Turkish : TC Kimlik Numarası ).
- Девятый персонаж в 14-символьном номере паспорта крупного рогатого скота (циклы от 1 до 7: см. Службу британского движения крупного рогатого скота ).
- Девятая цифра в исландской Кеннитала (национальный идентификационный номер).
- Modulo 97 Проверьте цифры в бельгийских и сербских банковских номерах. Сербия иногда также использует Modulo 11 для эталонного номера.
- Девятая цифра в венгерском номере Тадж (номер социального страхования).
- Для жителей Индии уникальный номер идентификации под названием Aadhaar имеет следующую 12 -ю цифру, которая рассчитывается с помощью алгоритма Verhoeff . [ 11 ]
- Управление интеллектуальной собственности Сингапура (IPOS) подтвердило новый формат для номеров заявок на регистрационную интеллектуальную собственность (IP, например, товарные знаки , патенты , зарегистрированные проекты ). Он будет включать в себя контрольный символ, рассчитанное с помощью алгоритма Damm . [ 12 ]
- Последняя цифра идентификационного номера гражданина Китая (второе поколение) рассчитывается с помощью Modulo 11-2, как указано в китайском Guobiao (он же национальный стандарт) GB11643-1999, который принимает ISO 7064: 1983. «X» используется, если рассчитанная проверка цифра составляет 10.
- 11 -я цифра эстонского Isikukood (личный код идентификации).
- Последнее письмо на пластинах регистрации транспортных средств Сингапура .
В Океании
[ редактировать ]- Австралийский налоговый номер (на основе модуля 11).
- Седьмой персонаж новозеландского номера NHI .
- Последняя цифра в новой новой системе мониторинга трафика (TMS) новозеландского локомотива (TMS).
Алгоритмы
[ редактировать ]Примечательные алгоритмы включают:
- Алгоритм Луна (1954)
- Алгоритм просмотров (1969)
- Алгоритм Damm (2004)
Смотрите также
[ редактировать ]- Контрольная сумма
- Отделение Nines - аналогичная проверка модульной суммы
- Проверьте бит - бинарный эквивалент
Ссылки
[ редактировать ]- ^ «Что такое проверка цифры? - определение из Techopedia» . Techopedia.com . Получено 2022-03-16 .
- ^ Kirtland, Joseph (2001). Идентификационные номера и проверьте схемы цифр . Материалы для ресурсов в классе. Математическая ассоциация Америки. С. 4–6. ISBN 978-0-88385-720-5 .
- ^ «GS1 Проверьте калькулятор цифр» . GS1 США. 2006. Архивировано из оригинала 2008-05-09 . Получено 2008-05-21 .
- ^ «Как рассчитать проверку цифры вручную» . GS1.
- ^ «Проверьте калькулятор цифр» . GS1. 2005 . Получено 2008-05-21 .
- ^ «Проверьте калькулятор цифр, на официальном сайте GS1 US» . GS1 США. Архивировано с оригинала 2016-11-21 . Получено 2012-08-09 .
- ^ «Руководство по пользователям ISBN» . Международное агентство ISBN. 2005. Архивировано из оригинала 2014-04-29 . Получено 2008-05-21 .
- ^ Кунзе, Джон А. "Нойд - хорошие непрозрачные команды генератора идентификаторов" . Metacpan.org . Архивировано из оригинала 2022-05-22 . Получено 2022-10-15 .
- ^ Дэвид Брессуд, Стэн Вагон, «Теория вычислительных номеров», 2000, Key College Publishing
- ^ «OpenFigi: разблокируйте силу эффективности с открытой символом» . OpenFigi . Архивировано из оригинала 2022-08-09 . Получено 2022-10-15 .
- ^ «Уникальная идентификационная карта» (PDF) . Geek Gazette . Осень 2011. С. 16. Архивировано из оригинала (PDF) 2014-06-26.
- ^ Чонг-Йи Ху (20 января 2014 г.). «Новый формат для номеров приложений IP в Сингапуре на IPO» . Сингапурский патентный блог . Cantab ip. Архивировано из оригинала 14 июля 2014 года . Получено 6 июля 2014 года .
Внешние ссылки
[ редактировать ]- Идентификационные числа и схемы проверки цифр (математическое объяснение различных схем проверки цифр)
- UPC, EAN и SCC-14 Проверьте калькулятор цифр
- GS1 Check Digit Calculator