Я искал алгоритм CRC32, но все, что я нашел, просто дал мне алгоритмы Checksum. Мне нужен алгоритм CRC32, который отправляет биты данных, проверяет и исправляет их. Например:Алгоритм коррекции CRC32 C
User input: "A" { 01000001 }
I intentionally cause an error so data sent is: "C" { 01000011 }
Есть ли алгоритм в C, который может сделать коррекцию таким образом "C"
может быть скорректирована до "A"
? Я просто нахожу «контрольную сумму CRC32», но ничего не исправляю, и я не очень понимаю, как это сделать.
Мне нужно это разъяснение. Благодаря! : 3 –
. однобитовые ошибки в коротких сообщениях, вы можете использовать синхронное декодирование. CRC32 является линейным, поэтому вы можете вычислить разницу между контрольной суммой, созданной всем ноль-сообщением, и контрольной суммой, созданной каждым сообщением, с одним набором бит. Если какое-либо из этих различий совпадает с разницей между наблюдаемой и ожидаемой контрольной суммой в полученном сообщении, было бы разумно предположить, что соответствующая одноразрядная позиция соответствует ошибке. – mcdowella