Анастасия Ермакова
Код Хэмминга. Программа
Есть функция поиска ошибочного бита в сообщении.
Это реализация Кода Хемминга.
Код на С++
int find_mistake()
{
int i, mistake = 0;
for (i = 0; i < len; i ++)
if (input == '1')
mistake ^= i + 1;
return mistake;
}
input - кодовое слово с возможной ошибкой.
И проблема в том, что я не до конца понял как эта функция работает. за счет каких манипуляций находится ошибка.
Кто сможет объяснить?
Алгоритм кодирования/декодирования я знаю. И Википедию читал и на парах был.
А вот "mistake ^= i + 1; " эту строчку хоть убейте не пойму. Но работает правильно.