Qu'est-ce qu'un bit de parité ?
Un bit de parité est un bit supplémentaire ajouté à une suite de données binaires afin de permettre une détection d'erreurs simple. C'est l'une des méthodes de contrôle les plus anciennes et les plus économiques, utilisée dans les communications série (UART), la mémoire et le stockage. Le bit de parité est choisi de telle sorte que le nombre total de bits à 1 — bit de parité compris — soit toujours pair (parité paire) ou toujours impair (parité impaire).
Comment utiliser ce calculateur
Saisissez vos données binaires sous forme d'une suite de 0 et de 1 (par exemple 1011010). Tout caractère autre que 0 ou 1 est ignoré. Le calculateur compte le nombre de bits à 1 contenus dans les données, puis indique à la fois le bit de parité paire et le bit de parité impaire que vous devriez ajouter.
La formule
On commence par compter le nombre de bits à 1, appelé nombre de uns. Le bit de parité paire vaut tout simplement nombre_de_uns mod 2 : si les données comportent déjà un nombre pair de 1, le bit de parité vaut 0 ; s'il est impair, il vaut 1, ce qui rétablit un total pair. Le bit de parité impaire est le complément, 1 - (nombre_de_uns mod 2), qui force le total à devenir impair.
$$\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}$$
Exemple détaillé
Prenons la donnée 1011010. Les bits à 1 se trouvent aux positions 1, 3, 4 et 6 → il y a 4 uns. Comme \(4 \bmod 2 = 0\), le bit de parité paire vaut 0 (le total est déjà pair). Le bit de parité impaire vaut 1, ce qui porterait le total à cinq 1 — un nombre impair.
FAQ
Quelles erreurs la parité détecte-t-elle ? La parité détecte tout nombre impair de bits inversés (1, 3, 5…). Elle ne peut pas détecter un nombre pair d'erreurs, ni corriger les erreurs.
Parité paire ou impaire : laquelle choisir ? Aucune n'offre d'avantage en matière de détection d'erreurs ; le choix relève d'une convention établie entre l'émetteur et le récepteur. Certains systèmes privilégient la parité impaire afin qu'une ligne entièrement à zéro soit signalée comme une erreur.
Le bit de parité se compte-t-il lui-même ? Oui. La parité désigne le nombre total de 1 présents dans les données plus le bit de parité, ce qui explique pourquoi la formule repose sur le nombre de uns des données.