Un codice hamming è un codice di blocco che corregge gli errori. Il codice prende il nome da Richard Hamming che lo ha sviluppato negli anni '50. All'epoca, Hamming lavorava con macchine che avevano relè e utilizzava schede perforate per leggere i dati. Poiché erano molto usate, le schede perforate avevano spesso degli errori, che dovevano essere corretti dai dipendenti.
I codici di Hamming sono utilizzati per l'elaborazione dei segnali digitali e per le telecomunicazioni. I codici di Hamming sono generati secondo determinate regole. I codici di Hamming utilizzano più bit di parità. Un bit di parità indica se un gruppo di bit è pari o dispari. In un codice di hamming, ogni bit di dati è coperto da diversi bit di parità. Questo permette di rilevare gli errori e, in alcuni casi, di correggerli. Un codice di hamming utilizza la ridondanza. Se ci sono tre bit di parità per parola di codice, la parola di codice deve avere una lunghezza di 7 ( 2 k - 1 {\displaystyle 2^{k}-1} , per k come numero di bit di parità). Questo lascia 4 bit di dati utente per parola di codice, nell'esempio. Di solito, questo è scritto come (N,n), dove il primo numero è la lunghezza totale di una parola in codice, e il secondo è il numero di bit per i dati utente. L'esempio sopra riportato è (7,4).
Il codice Hamming più breve possibile è (3,1), 2 bit di parità sono utilizzati per un bit di dati. Questo codice ha due valori validi 000 e 111 - I codici 001, 010 e 100 sono errori di trasmissione, e saranno assegnati alla parola di codice valida 000. Le altre possibilità 011,101 e 110 saranno modificate in '111.