Interested Article - Бит чётности
- 2020-08-13
- 1
Бит чётности ( англ. Parity bit ) — контрольный бит в вычислительной технике и сетях передачи данных , служащий для проверки общей чётности двоичного числа (чётности количества единичных битов в числе).
Применение
В последовательной передаче данных часто используется формат 7 бит данных, бит чётности, один или два стоповых бита. Такой формат аккуратно размещает все 7-битные ASCII символы в удобный 8-битный байт. Также допустимы другие форматы: 8 бит данных и бит чётности.
В последовательных коммуникациях чётность обычно контролируется оборудованием интерфейса (например UART ). Признак ошибки становится доступен процессору (и ОС ) через статусный регистр оборудования. Восстановление ошибок обычно производится повторной передачей данных, подробности которой обрабатываются программным обеспечением (например, функциями ввода-вывода операционной системы)
Контроль некой двоичной последовательности (например, машинного слова ) с помощью бита чётности также называют контролём по паритету . Контроль по паритету представляет собой наиболее простой и наименее мощный метод контроля данных. С его помощью можно обнаружить только одиночные ошибки в проверяемых данных. Двойная ошибка будет неверно принята за корректные данные. Поэтому контроль по паритету применяется к небольшим порциям данных, как правило к каждому байту , что даёт коэффициент избыточности для этого метода 1/8. Метод редко применяется в компьютерных сетях из-за невысоких диагностических способностей. Существует модификация этого метода — вертикальный и горизонтальный контроль по паритету . Отличие состоит в том, что исходные данные рассматриваются в виде матрицы, строки которой составляют байты данных. Контрольный разряд подсчитывается отдельно для каждой строки и для каждого столбца матрицы. Этот метод обнаруживает значительную часть двойных ошибок, однако обладает большей избыточностью. Он сейчас также почти не применяется при передаче информации по сети.
Полиномы CRC и бит чётности
Контроль по чётности фактически является специальным случаем проверки избыточности циклической суммы с полиномом x +1.
Примеры
Бит чётности или контрольный разряд формируется при выполнении операции « Исключающее-ИЛИ » последовательно (1 бит с 2, результат с 3, результат с 4 и т.д.).
Рассмотрим схему, использующую девятибитные кодовые слова, состоящие из восьми бит данных, за которыми следует бит чётности.
- Число 10111101 содержит 6 '1' битов. Бит чётности будет 0, получаем кодовое слово 101111010.
- Число 01110011 содержит 5 '1' битов. Бит чётности будет 1, получаем кодовое слово 011100111.
- Число 00000000 содержит 0 '1' битов. Бит чётности будет 0, получаем кодовое слово 000000000.
Пустой или несуществующий поток битов также имеет ноль единичных битов, поэтому бит чётности будет '0'.
См. также
- Чётность используется для восстановления данных в RAID .
- использует чётность для обнаружения ошибок памяти.
- Код Хэмминга — следующий шаг после бита чётности.
Литература
- Генри С. Уоррен, мл. Глава 5. Подсчет битов // Алгоритмические трюки для программистов = Hacker's Delight. — М. : , 2007. — С. 288. — ISBN 0-201-91465-4 .
- 2020-08-13
- 1