koodisõnas. Vigu avastav kood tähendab, et andmebittidele tuleb lisada lisabitid, mis ei edasta täiendavat informatsiooni, küll aga võimaldavad kindlaks teha võimalikke vigu. Lihtsaim vigu avastav kood on selline, kus lisatakse edastatavale andmebittile paarsusbitt. Igas õiges koodisõnas peab olema paarisarv ühtesid. Kasutatakse ka selliseid koode, kus koodisõnas peab olema paarituarv ühtesid. Kui paarsusbitiga koodi sõna edastatakse või salvestatakse ja mõni andmebitt muutub 0-st 1-ks või vastupidi, ei ole enam koodis paarisarv ühtesid, mis näitab vea olemasolu. Paarsusbitiga ei ole võimalik avastada kahe või enama biti vigu. Samuti ei avastata viga, kui üks 1 muutub 0-ks ja teine 0 muutub 1-ks. Valet koodi on võimalik ühe biti vea korral ära tunda, aga parandada ei saa. Vigu avastavates koodides on
nihkeregistrit. Veakindlad koodid Informatsiooni edastamisel tekib vigu. Mõni 1 muutub 0 või 0 muutub 1ks. Oluliselt aitab vigade tekkimist vältida see kui 1 ja 0 nivood on hästi eraldatud. Isegi siis tekib vigu. Vigu avastavad koodid võimaldavad kindlaks teha võimalikke moonutusi edastatavas koodis. See tähendab, et andmebittidele tuleb juurde panna lisabitid, mis ei edasti infot vaid kontrollivad õigsust. Lihsaim viis on paarsusbitt. Igas õiges koodisõnas peab olema paarisarv bitte. Paarsusbitiga ei ole võimalik avastada vigu, mis on tekkinud kahe või enama biti vigu. Paarsusbitiga ei ole võimalik tuvastada muudetud bitti, see ainult teavitad kas tegu on õige või vale koodiga. Vigu parandavad koodid lisavad rohkem bitte kui avastavad koodid. Vigu parandavate koodidel peab Hammingi distants kahe õige koodi vahel olema vähemalt 3. Valitakse lähemal olev kood. Seda võib vaadata ka kui, et igal õigel koodil on ühe biti moondumise korral eraldi valede koodide hulk.
Põhjused on erinevad. Viga avastavad koodid võimaldavad kindlaks teha võimalikke moonutusi edastatavas koodis. St andmebittidele tuleb lisada lisabitid, mis ei edasta täiendavat infot, küll aga võimaldavad kindlaks teha võimalikke vigu. Lihtsaim variant: andmebitile edastatakse paarsusbitt, mis kontrollib andmebitis olevate 1-de arvu. Kui mõni andmebitt muutub, tuvastatakse viga. Eeldatakse, et viga on ühes järgus. Paarsusbitiga pole võimalik avastada 2 või enam vigu. Samuti ei leita viga, kui kood muutub, kuid selles on ikka paaris/paaritu arv 1-sid. Ühebitist viga on võimalik tuvastada, kuid parandada mitte. Vigu parandavad koodid – võimaldavad ka vigu avastada. Kahe õige koodi erinevust kahendjärkudes nimetatakse Hammingi distantsiks. Näites on õiged koodid 000 ja 111, mille Hammingi vahe on 3. Kui salvestati kood 000 ja hiljem