Linux HOWTO


Контроль четности, объясненный


Символы обычно кодируются или 7, или 8 битами (данных).

Дополнительный бит контроля четности может (или не может) быть сопровождать байт символа, что дает в результате длину байта 7, 8 или 9 бит. Некоторые эмуляторы терминала и старшие терминалы не работают с 9 битами.

Контроль четности может быть установлен по нечетности, четности или не делаться вообще (контроль четности метки и пробела на некоторых терминалах невозможен). При проверке на нечетность бит контроля по четности выбирается так, чтобы число единичек в байте, включая бит контроля четности, было нечетно. Если такой байт портится, когда один из битов примет другое значение, то в результате проверки на четность будет определено, что байт испорчен. При обнаружении ошибки, если этот символ идет на терминал, на экране появится символ ошибки. Проверка на четность работает подобным способом со всеми допустимыми байтами (включая бит контроля по четности) создавая четное число единичек в байте. При установке, число битов на символ обычно означает только число информационных разрядов на байт (7 для истинного ASCII и 8 для различных наборов символов ISO).

"Метка" - это логическая 1, а "пробел" - это логический 0. При контроля четности метки бит четности всегда одноразрядный. Для контроля четности пробела он - всегда нулевой. Контроль четности метки или пробела снижает полосу пропускания и нужно избегать его, насколько возможно. "Нет контроля по четности" не означает, что бит контроля четности не добавляется. Для терминалов, которые не работают с 9-битными байтами, должно быть выбрано "нет контроля четности" при использовании 8 разрядных символьных наборов, так как для бита контроля четности не хватает разрядов.




Начало  Назад  Вперед