P
pro·school.ru
Каталог школ

Контроль чётности и обнаружение ошибок

💻 Информатика · 7 класс

Зачем обнаруживать ошибки

При передаче и хранении данных иногда возникают ошибки: один бит случайно меняется с 0 на 1 или наоборот. Причиной может быть помеха в линии связи или сбой в памяти. Чтобы заметить такую ошибку, к данным добавляют дополнительную проверочную информацию. Самый простой способ — бит чётности.

Без проверки получатель не смог бы понять, что данные испортились, и принял бы их за верные. Поэтому контроль ошибок — важная часть надёжной передачи данных.

Что такое бит чётности

Бит чётности — это дополнительный бит, который добавляют к группе данных так, чтобы общее число единиц стало чётным (или нечётным — по предварительной договорённости). Получатель пересчитывает единицы и проверяет, сходится ли результат.

Разберём контроль на чётность. Договоримся, что число единиц всегда должно быть чётным:

данные: 1011001 -> единиц 4 (чётно) -> бит чётности 0 данные: 1011000 -> единиц 3 (нечётно) -> бит чётности 1

В первом случае единиц и так чётное число, поэтому бит чётности равен нулю. Во втором единиц нечётное число, и бит чётности, равный единице, дополняет их до чётного количества.

Как находят ошибку

Что пришлоЧисло единицВывод
правильные данныечётноеошибки нет
один бит искажённечётноеесть ошибка

Если при проверке число единиц вместе с битом чётности стало нечётным, значит при передаче произошла ошибка. Тогда данные считаются повреждёнными, и их нужно передать заново.

Частая ошибка. Бит чётности обнаруживает только нечётное число искажений. Если изменились сразу два бита, число единиц снова станет чётным, и ошибку этот способ не заметит. Поэтому бит чётности — простая, но не самая надёжная проверка.

Контрольная сумма

Контрольная сумма — более надёжный способ. Для целого блока данных по особому правилу вычисляют число и передают его вместе с данными. Получатель пересчитывает сумму сам и сравнивает с присланной. Если суммы не совпали — данные повреждены. Контрольные суммы используют, например, при скачивании файлов из интернета, чтобы убедиться, что файл загрузился без ошибок.

  • бит чётности — простой, но слабый контроль;
  • контрольная сумма — надёжнее, применяется при загрузке файлов;
  • оба способа лишь обнаруживают ошибку, но не всегда могут её исправить.

Кратко о главном

  • При передаче данных бит может случайно исказиться из-за помех или сбоев.
  • Бит чётности дополняет число единиц до чётного и помогает заметить ошибку.
  • Он обнаруживает только нечётное число искажений.
  • Контрольная сумма — более надёжный способ проверки блока данных.
  • Эти способы обнаруживают ошибку, но не всегда исправляют её.