A digitális jel átvitele és feldolgozása közben néha fellép valamilyen hiba, egyrészt a jelet átvivő csatornába kerülő zavarok miatt, másrészt a készülékek fogyatékosságai miatt. Amennyiben kiderül, hogy az illető rendszerben az elérhető hibaarány rosszabb a megkívántnál, akkor biztosítani kell a kódellenőrzést, hibakorlátozást. Ezt rendszerint nem áramkörök többszörözésével oldjuk meg, hanem olyan kód felhasználásával, amely megfelelő vizsgálattal önmagában lehetőséget ad a menetközben” keletkező hibák kimutatására. Ehhez a kódnak a feltétlenül szükséges információ tartalom mellett bizonyos mértékű többletet, redundanciát kell tartalmaznia, amelyet mesterségesen építünk a kódkészletbe.

    Egy bináris számot például hiába vizsgálgatunk akármeddig, nem jövünk rá hibás-e vagy sem, hiszen bármilyen információt látunk is az mind megengedett kódszó. Ha viszont többlet bitek hozzáadásával a megengedett kódszavak közé szisztematikusan “tiltott” kombinációs lehetőségeket ékelünk be, akkor van bizonyos valószínűsége annak, hogy a bekerült hibát észleljük: ezek a tiltott szavak nyilván csak akkor jelennek meg, ha hiba van. A bináris kód pl. azért nem alkalmas ellenőrzésre, mert minden “szomszédos” kódszót kihasználunk. Ha a szavak közötti távolságot 1-nél nagyobbra növeljük, akkor már lehetőség van a hiba kimutatására. A kódszavak hosszának növelése, a nagyobb bitszám miatt a berendezések bonyolultabbak ezért drágábbak is.

A hibajelzés legelterjedtebb módszere a paritás bittel történő bővítés, amely a kódszóban lévő 1-esek számát párosra (páros paritású rendszerben) vagy páratlanra (páratlan paritású rendszerben) egészíti ki. Ilyen módon, ha például csak a páros paritású kódszavakat tekintjük “jó”-nak (ez a gyakoribb megállapodás), akkor az összes páratlan paritásút kirekesztjük, így a Hamming távolság biztosan 2 lesz minden megengedett kódszó között.

Például a 4 bites BCD kódot is kiegészíthetjük egy paritás bittel hibajelzés céljára:

 
P
D
C
B
A
0
0
0
0
0
1
0
0
0
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
1
0
0
1
      Hibajavításhoz még több redundanciát kell beépítenünk a kódba, de így bizonyos valószínűséggel lehetőség van arra. Hogy adott számú bitre ne csak jelezzük, hogy hiba van, kijelölhessük a hibás bit helyét is (ami egyenlő a hibajavítás lehetőségével, hiszen ezen a helyen 0-1 cserét kell végrehajtanunk). Egy példát mutat be a következő ábra arra az esetre, amikor egy adott mennyiségű kódszó egy közös egységként kezelhető: a soronként és oszloponként elhelyezett paritás bitek a “metszéspontban” kijelölik a hibás bit helyét. A mai összetettebb rendszerekben ennél bonyolultabb “beépített” hibajavító biteket használnak.