2012-04-22 4 views

ответ

1

Это было бы более уместно спросил в theoretical computer science разделе StackExchange, но так как вы были честны и помечено как домашнее задание ...

ASCII использует 7 бит, чтобы указать символ. (В ASCII «X» представлено 7 битами «1011000».) Если вы начинаете с любой последовательности ASCII, количество бит, которое вам нужно перевернуть, чтобы перейти к другой законной последовательности ASCII, составляет всего 1 бит. Поэтому расстояние Хэмминга между обычными последовательностями ASCII равно 1.

Однако, если бит четности добавлен (всего 8 бит - 7 бит ASCII плюс один бит четности, обычно отображаемый в крайнем левом положении), то любой однобитовый флип в последовательности приведет к тому, что результат будет иметь неправильную четность. Следуя примеру, с даже паритет 'X' представлен 11011000, так как бит четности выбирается так, чтобы дать даже количество 1 с в последовательности. Если вы теперь переверните любой бит в этой последовательности, тогда результат будет неприемлем, потому что он будет иметь неправильную четность. Чтобы получить приемлемую новую последовательность с четным паритетом, вы должны изменить минимум два бита. Поэтому, когда действует четность, расстояние Хэмминга между приемлемыми последовательностями равно 2.