Подключиться через MCP →

Введите расчет

Математическая формула

Реклама

Результатов

Бит чётности even
0
добавьте, чтобы общее число единиц стало чётным
Бит чётности odd 1
Количество единичных битов 4
Всего битов данных 7

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

Бит чётности (parity bit) — это один дополнительный бит, который добавляется к строке двоичных данных для простого обнаружения ошибок. Это одна из самых старых и дешёвых схем контроля, применяемая в последовательной передаче данных (UART), в памяти и накопителях. Бит чётности подбирается так, чтобы общее количество единиц — вместе с самим битом чётности — всегда было либо чётным (чётность even), либо нечётным (чётность odd).

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

Как пользоваться калькулятором

Введите двоичные данные в виде строки из нулей и единиц (например, 1011010). Любые символы, кроме 0 и 1, игнорируются. Калькулятор подсчитает, сколько единиц содержится в данных, и покажет оба варианта бита чётности — и для чётности even, и для чётности odd, — который нужно добавить.

Формула

Сначала подсчитываем количество единиц — обозначим его ones. Бит чётности even равен просто ones mod 2: если в данных уже чётное число единиц, бит чётности равен 0; если нечётное — он равен 1, восстанавливая чётный итог. Бит чётности odd — это дополнение, 1 - (ones mod 2), благодаря которому общее количество единиц становится нечётным.

$$\begin{gathered} P_{\text{even}} = \left(\sum \text{Bits}\right) \bmod 2, \qquad P_{\text{odd}} = 1 - P_{\text{even}} \\[1.5em] \text{where}\quad \left\{ \begin{aligned} \sum \text{Bits} &= \text{count of 1s in the data} \\ P_{\text{even}} &= \text{even parity bit} \\ P_{\text{odd}} &= \text{odd parity bit} \end{aligned} \right. \end{gathered}$$
Схема подсчёта единичных битов, ведущая к значениям чётного и нечётного бита чётности
Чётность делает общее число единиц чётным, нечётность — нечётным.

Разбор примера

Возьмём данные 1011010. Единицы стоят на позициях 1, 3, 4 и 6 → всего 4 единицы. Поскольку \(4 \bmod 2 = 0\), бит чётности even равен 0 (итог уже чётный). Бит чётности odd равен 1 — тогда единиц станет пять, то есть нечётное число.

Частые вопросы

Какие ошибки ловит чётность? Контроль чётности обнаруживает любое нечётное число инвертированных битов (1, 3, 5…). Он не способен заметить чётное число ошибок и не может их исправлять.

Что лучше — even или odd? По части обнаружения ошибок ни у одного варианта нет преимущества; выбор — это соглашение между отправителем и получателем. Некоторые системы предпочитают чётность odd, чтобы линия из одних нулей определялась как ошибка.

Учитывается ли сам бит чётности? Да. Чётность относится к общему количеству единиц в данных плюс бит чётности — именно поэтому в формуле используется число единиц в данных.

Последнее обновление: