The Šedý kód je postupnosť binárnych číselných sústav, ktorá je známa aj ako odrazený binárny kód . Dôvodom volania tohto kódu ako odrazeného binárneho kódu sú prvé hodnoty N/2 v porovnaní s hodnotami posledných N/2 hodnôt v opačnom poradí. V tomto kóde sa dve po sebe idúce hodnoty líšia jedným bitom binárnych číslic. Sivé kódy sa používajú vo všeobecnej postupnosti hardvérovo generovaných binárnych čísel. Tieto čísla spôsobujú nejednoznačnosti alebo chyby pri prechode z jedného čísla na nasledujúce. Tento kód jednoducho rieši tento problém tak, že pri prechode medzi číslami zmení iba jeden bit.
Sivý kód je veľmi ľahký kód, pretože nezávisí od hodnoty číslice určenej pozíciou. Tento kód sa tiež nazýva cyklický premenný kód, pretože prechod jednej hodnoty na jej nasledujúcu hodnotu nesie zmenu iba jedného bitu.
Ako vygenerovať Gray kód?
Metóda predpony a odrazu sa rekurzívne používa na generovanie Grayovho kódu čísla. Na vygenerovanie sivého kódu:
- Nájdeme počet bitov potrebných na reprezentáciu čísla.
- Ďalej nájdeme kód pre 0, t.j. 0000, ktorý je rovnaký ako binárny.
- Teraz vezmeme predchádzajúci kód, t. j. 0000, a zmeníme jeho najvýznamnejšiu časť.
- Tento proces vykonávame výlučne, kým nie sú všetky kódy jednoznačne identifikované.
- Ak zmenou najvýznamnejšieho bitu nájdeme rovnaký kód získaný predtým, potom sa zmení druhý najvýznamnejší bit atď.
Proces generovania Grayovho kódu
Tabuľka sivého kódu
Desatinné číslo | Binárne číslo | Šedý kód |
---|---|---|
0 | 0000 | 0000 |
1 | 0001 | 0001 |
2 | 0010 | 0011 |
3 | 0011 | 0010 |
4 | 0100 | 0110 |
5 | 0101 | 0111 |
6 | 0110 | 0101 |
7 | 0111 | 0100 |
8 | 1000 | 1100 |
9 | 1001 | 1101 |
10 | 1010 | 1111 |
jedenásť | 1011 | 1110 |
12 | 1100 | 1010 |
13 | 1101 | 1011 |
14 | 1110 | 1001 |
pätnásť | 1111 | 1000 |