Коды, распознающие ошибку

Дмитрий Максимов

Современному человеку часто приходится иметь дело с большими числами. Нет, мы их не складываем, не делим, не перемножаем — с этим сейчас прекрасно справляется компьютер. Большие числа стали частью нашей жизни: с их помощью обозначают, например, номер страхового полиса, номер банковской карты, номер авиабилета, заводские номера различных устройств. Нам часто приходится вводить эти номера или писать на счетах и квитанциях. И если перепутать хоть одну цифру, последствия могут быть весьма неприятными. Как же избежать ошибок? Конечно, в первую очередь надо быть внимательным. Но от опечатки никто не застрахован, и на этот случай математики придумали способы, позволяющие таких ошибок избегать.

Нужно больше цифр!

В 1958 году сотрудник фирмы IBM (той, которая выпускала 15 лет назад самые популярные компьютеры) Ханc Петер Лун предложил метод, позволяющий значительно снизить вероятность ошибок. Это метод хеширования, и, возможно, он знаком читателям, интересующимся программированием. На первый взгляд идея выглядит странной: Лун предложил к данной последовательности цифр добавлять в конце ещё одну контрольную цифру. Казалось бы, вероятность ошибок может только увеличиться. Однако контрольная цифра должна быть не любой, а каким-то образом связанной с первыми, главными цифрами и вычисляться по ним с помощью определённого алгоритма. Что это нам даёт? А вот что: если человек, вводя длинный номер, перепутал одну из цифр, то, вычислив по введённым им цифрам контрольную, мы получим не тот результат, на который он рассчитывал. И можем сообщить ему, что он где-то ошибся...

Продолжение статьи читайте в номере журнала

Журнал добавлен в корзину.
Оформить заказ
Портал журнала «Наука и жизнь» использует файлы cookie и рекомендательные технологии. Продолжая пользоваться порталом, вы соглашаетесь с хранением и использованием порталом и партнёрскими сайтами файлов cookie и рекомендательных технологий на вашем устройстве. Подробнее