Un cod hamming este un cod bloc cu corecție de erori. Codul este denumit după Richard Hamming, care l-a dezvoltat în anii 1950. La acea vreme, Hamming lucra cu mașini care aveau relee și foloseau cartele perforate pentru a citi datele. Deoarece erau foarte utilizate, cartelele perforate aveau adesea erori, care trebuiau corectate de angajați.

Codurile Hamming sunt utilizate pentru prelucrarea digitală a semnalelor și pentru telecomunicații. Codurile Hamming sunt generate în conformitate cu anumite reguli. Codurile Hamming utilizează mai mulți biți de paritate. Un bit de paritate indică dacă un grup de biți este par sau impar. Într-un cod Hamming, fiecare bit de date este acoperit de mai mulți biți de paritate. Acest lucru permite detectarea erorilor și, în anumite cazuri, și corectarea lor. Un cod hamming utilizează redundanța. În cazul în care există trei biți de paritate pe cuvânt de cod, cuvântul de cod trebuie să aibă o lungime de 7 ( 2 k - 1 {\displaystyle 2^{k}-1}{\displaystyle 2^{k}-1} , pentru k fiind numărul de biți de paritate). Astfel, în exemplul de mai sus, rămân 4 biți de date de utilizator pe cuvânt de cod. De obicei, acest lucru se scrie ca (N,n), unde primul număr este lungimea totală a unui cuvânt de cod, iar al doilea este numărul de biți pentru datele utilizatorului. În exemplul de mai sus este (7,4).

Cel mai scurt cod Hamming posibil este (3,1), se utilizează 2 biți de paritate pentru un bit de date. Acest cod are două valori valide 000 și 111 - Codurile 001, 010 și 100 reprezintă erori de transmisie și vor fi atribuite cuvântului de cod valid 000. Celelalte posibilități 011,101 și 110 vor fi schimbate în "111".