Анастасия Ермакова
Анастасия Ермакова

Код Хэмминга. Программа

Есть функция поиска ошибочного бита в сообщении.
Это реализация Кода Хемминга.
Код на С++

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; " эту строчку хоть убейте не пойму. Но работает правильно.

Сандра Олефинова
Сандра Олефинова

Википедию открой и почитай

Похожие вопросы
Pascal/ Отладка кода программы.
Объясните пожалуйста код программы
надо написать код программы на с++
Какой код программы будет в следующей задаче?
Помогите исправить код программы
нужно написать код программы на с++
напишите мне код программы пожалуйста на с++
составить код программы
с++ код скрытной программы
Объяснить код программы