Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno 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 ?

Předmět Autor Datum
Na predmet, kde sme sa to učili, som už úspešne zabudol, ale bolo to nejako tak, že v tomto prípade…
los 31.01.2006 12:35
los
"Keby nevyhovovali ani jeden kontrolný bit, chyba by bola na prvom mieste." Jáj, tak tohle jsem se m… poslední
siberian 31.01.2006 15:25
siberian

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).

Zpět do poradny Odpovědět na původní otázku Nahoru