Контроль чётности и обнаружение ошибок
💻 Информатика · 7 класс
Зачем обнаруживать ошибки
При передаче и хранении данных иногда возникают ошибки: один бит случайно меняется с 0 на 1 или наоборот. Причиной может быть помеха в линии связи или сбой в памяти. Чтобы заметить такую ошибку, к данным добавляют дополнительную проверочную информацию. Самый простой способ — бит чётности.
Без проверки получатель не смог бы понять, что данные испортились, и принял бы их за верные. Поэтому контроль ошибок — важная часть надёжной передачи данных.
Что такое бит чётности
Бит чётности — это дополнительный бит, который добавляют к группе данных так, чтобы общее число единиц стало чётным (или нечётным — по предварительной договорённости). Получатель пересчитывает единицы и проверяет, сходится ли результат.
Разберём контроль на чётность. Договоримся, что число единиц всегда должно быть чётным:
данные: 1011001 -> единиц 4 (чётно) -> бит чётности 0
данные: 1011000 -> единиц 3 (нечётно) -> бит чётности 1
В первом случае единиц и так чётное число, поэтому бит чётности равен нулю. Во втором единиц нечётное число, и бит чётности, равный единице, дополняет их до чётного количества.
Как находят ошибку
| Что пришло | Число единиц | Вывод |
|---|---|---|
| правильные данные | чётное | ошибки нет |
| один бит искажён | нечётное | есть ошибка |
Если при проверке число единиц вместе с битом чётности стало нечётным, значит при передаче произошла ошибка. Тогда данные считаются повреждёнными, и их нужно передать заново.
Частая ошибка. Бит чётности обнаруживает только нечётное число искажений. Если изменились сразу два бита, число единиц снова станет чётным, и ошибку этот способ не заметит. Поэтому бит чётности — простая, но не самая надёжная проверка.
Контрольная сумма
Контрольная сумма — более надёжный способ. Для целого блока данных по особому правилу вычисляют число и передают его вместе с данными. Получатель пересчитывает сумму сам и сравнивает с присланной. Если суммы не совпали — данные повреждены. Контрольные суммы используют, например, при скачивании файлов из интернета, чтобы убедиться, что файл загрузился без ошибок.
- бит чётности — простой, но слабый контроль;
- контрольная сумма — надёжнее, применяется при загрузке файлов;
- оба способа лишь обнаруживают ошибку, но не всегда могут её исправить.
Кратко о главном
- При передаче данных бит может случайно исказиться из-за помех или сбоев.
- Бит чётности дополняет число единиц до чётного и помогает заметить ошибку.
- Он обнаруживает только нечётное число искажений.
- Контрольная сумма — более надёжный способ проверки блока данных.
- Эти способы обнаруживают ошибку, но не всегда исправляют её.