Код Хэмминга работает в два этапа: 13
Если все вновь вычисленные контрольные биты совпадают с полученными, то сообщение получено без ошибок. 1 В противном случае выводится сообщение об ошибке и при возможности ошибка исправляется. 1
Пример работы кода Хэмминга: допустим, нужно передать сообщение «habr» без ошибок. 1 Для этого исходное сообщение представляют в бинарном виде и делят на блоки по 16 бит, которые кодируют отдельно друг от друга. 1 Затем в строго определённых местах (позиции с номерами, равными степеням двойки) вставляют контрольные биты. 1 После этого вычисляют значение каждого контрольного бита: смотрят, сколько среди контролируемых им битов единиц, и если число чётное, то ставят ноль, в противном случае — единицу. 1
Когда закодированное сообщение приходит с ошибкой, во второй части алгоритма заново вычисляют все контрольные биты и сравнивают их с полученными. 1 Сложив номера позиций неправильных контрольных бит, получают позицию ошибочного бита. 1 Затем инвертируют его и отбрасывают контрольные биты, получая исходное сообщение без ошибок. 1