TwiddleLab / Код / Как компьютер хранит всё
Фокус с чётностью
Что ты узнаешь
- Бит чётности это лишний бит, который делает число единиц чётным.
- Если по дороге перевернётся один бит, количество станет нечётным: ошибка обнаружена.
- Чётность по строкам и столбцам говорит ещё и *где* одиночный переворот, поэтому его можно исправить.
- Два переворота могут спрятаться от проверки чётности или оставить слишком много подозреваемых.
Как идёт урок
Переверни любую одну карточку, пока я не смотрю. Я скажу какую.
Пусть Пип отвернётся, переверни одну карточку, потом позови Пипа обратно.
Фокус, медленно.
Пройди по шагам: посчитай тёмные карточки в каждой строке, потом в каждом столбце.
Собери свою сетку для фокуса.
Карточки 4 x 4 случайные. Поставь фиолетовые лишние карточки так, чтобы в каждой строке и каждом столбце было чётное число тёмных.
Чётность.
Чётность это то, чётное количество или нечётное.
Бит чётности это один лишний бит, добавленный, чтобы число единиц было чётным. Тёмная карточка = 1, светлая = 0.
Обнаружение ошибок: если по дороге бит перевернётся, количество станет нечётным, и получатель узнает, что что-то сломалось. Со строками и столбцами он знает даже где.
Побудь фокусником: Пип переворачивает, ты находишь.
Сначала твоя сетка, потом побольше.
Компьютеры делают то же с байтами: 7 бит данных и 1 бит чётности.
Перетащи 0 или 1 в каждую фиолетовую ячейку, чтобы в каждом байте было чётное число единиц.
Сломай фокус: Пип перевернул две карточки в одной строке.
Найди линии, которые поднимают тревогу. Нечётное плюс нечётное это чётное: эта математика ещё встретится.
Байты приходят с битом чётности в конце. Какие повреждены?
Посчитай единицы во всех 8 битах.
На этот раз без подсчётов. Какую карточку перевернули?
Нажми на неё.
Какую сетку фокус может починить?
Нажми на неё.
Предыдущий урок: Выбрось то, чего не заметишь · Следующий урок: Исправляем ошибки на лету · Часть курса: Как компьютер хранит всё
Уроки интерактивные и работают на JavaScript. Включи его, чтобы играть.