Самокоррекция — это исправление ошибок в пакетах данных, возникающих при передаче.
- Актуальность алгоритма кода Хемминга
- Смысл алгоритма кодирования по Хеммингу
- Программа, демонстрирующая самокорректирующие возможности
- Матрица для схемы (64, 7)
- Работа с файлами
Код хемминга программа на си
Почитал Вики о проверке бита, понял о чём Вы, но как реализовать не совсем понял.
Мне нужно что-то вроде цикла:
for (i = 2; i < pow(2,k); i++) < for (j = 1; j /*Сдвигаем в числе бит влево */ > >
Интуиция подсказывает мне, что можно сделать это как-то проще, но я не знаю как. Да и такой цикл я не смогу записать, потому что не знаю как представить число в двоичной записи.
—————————
Апдейт: написал
i=1; i
По-моему, программа должна была три раза сдвинуть бит влево, но ничего не произошло, единица осталась единицей.
Пол-жизни сидючи, в монитор глядючи.
Последний раз редактировалось Last; 27.11.2011 в 16:04 .
Пользователь
Регистрация: 22.02.2010
Сообщений: 71
А где результат сохраняется?
Код Хэмминга
Может попробовать так:
В прострации
Форумчанин
Регистрация: 13.01.2009
Сообщений: 239
Выложу своё поделие, може кому понадобится =)
Пакет реализован в виде консольного приложения под Windows. Принцип работы – command-line utility, т.е. утилита, весь интерфейс которой заключён в параметрах, передаваемых при вызове. Формат вызова: hm Команды: h — помощь e — закодировать сообщение d — декодировать сообщение |
//Алгоритм программы в книге «Дискретная математика для программистов», автор — Ф. Новиков #include #include #include #include #include #include #include #define MAX_BUFFER 1024 typedef struct list_t < int d; struct list_t *next; >list; int GetLength(char *s) < int i = 0; while (s[i] != ‘