Samoopravitelný kód (lichá parita)
1 0 0 1 - 0 1 1
1 X 0 1 - 0 Nevyhovuje
1 0 X 1 - 1 Vyhovuje
1 0 0 X - 1 Nevyhovuje
Správně má číslo vypadat: 1 0 1 1 - 0 1 1
Nevyhovuje a vyhovuje, tomu rozumím (parita). Ale jak se dospěje k tomu, že chyba je v druhém čísle? Proto, že tam zrovna parita vyhovuje? To by potom číslo 1 1 0 1 - 1 1 1 bylo správně: 1 0 0 1 - 1 1 1 ?
Na predmet, kde sme sa to učili, som už úspešne zabudol, ale bolo to nejako tak, že v tomto prípade posledné 3 bity dopĺňajú paritu vybranej trojice z prvých štyroch bitov. Tento kód dokáže opraviť jednu chybu, prípadne odhaliť dve chyby.
1 0 0 1 - 0 1 1 (nesprávna správa)
1 x 0 1 - 0 (1^0^1 != !0)
1 0 x 1 - 1 (1^0^1 = !1)
1 0 0 x - 1 (1^0^0 != !1)
Nevyhovujú 1. a 3. kontrolný bit a 2. vyhovuje, takže chyba bude na tom mieste, ktoré sa pri výpočte 2. bitu neuvažuje (tretie miesto).
Keby nevyhovovali 1. a 2. kontrolný bit a 3. by vyhovoval, chyba by bola na štvrtom mieste.
Keby nevyhovovali 2. a 3. kontrolný bit a 1. by vyhovoval, chyba by bola na druhom mieste.
Keby nevyhovovali ani jeden kontrolný bit, chyba by bola na prvom mieste.
Ak vyhovujú všetky tri kontrolné bity, správa je v poriadku.
1 0 1 1 - 0 1 1 (správna správa)
1 x 1 1 - 0 (1^1^1 = !0)
1 0 x 1 - 1 (1^0^1 = !1)
1 0 1 x - 1 (1^0^1 = !1)
Pri iných kombináciách nie je možné správu opraviť, ale chyba sa dá detekovať. Pri väčšom počte chýb, než dokáže tento kód opraviť, sa chyba ani neodhalí (alebo sa opraví nesprávne).
"Keby nevyhovovali ani jeden kontrolný bit, chyba by bola na prvom mieste." Jáj, tak tohle jsem se měl dovědět ještě před zkouškou. Zrovna tenhle případ tam nastal a čučel jsem na to jak puk. Ale nevadí, stejně to dopadlo úspěšně. Dík za objasnění.