A Szürke kód kettes számrendszerek sorozata, amely más néven tükrözött bináris kód . A kód tükrözött bináris kódként való hívásának oka az első N/2 érték az utolsó N/2 értékekhez képest fordított sorrendben. Ebben a kódban két egymást követő értéket egy bit bináris számjegy különböztet meg. A szürke kódokat a hardver által generált bináris számok általános sorozatában használják. Ezek a számok kétértelműségeket vagy hibákat okoznak, amikor az egyik számról az egymást követőre váltunk. Ez a kód egyszerűen megoldja ezt a problémát azzal, hogy csak egy bitet változtat meg, amikor a számok közötti átmenet megtörtént.
A szürke kód nagyon enyhén súlyozott kód, mert nem függ a pozíció által megadott számjegy értékétől. Ezt a kódot ciklikus változókódnak is nevezik, mivel az egyik értéknek az egymást követő értékre való átmenete csak egy bites változást eredményez.
Hogyan lehet Gray kódot generálni?
Az előtag és a tükrözési módszer rekurzív módon generálható egy szám szürke kódja. A szürke kód generálásához:
- Megtaláljuk a szám ábrázolásához szükséges bitek számát.
- Ezután megtaláljuk a 0, azaz a 0000 kódját, ami megegyezik a bináris kóddal.
- Most vesszük az előző kódot, azaz a 0000-et, és megváltoztatjuk a legjelentősebb bitjét.
- Ezt a folyamatot zártkörűen hajtjuk végre mindaddig, amíg az összes kódot nem azonosítjuk egyedileg.
- Ha a legjelentősebb bit megváltoztatásával ugyanazt a kódot találjuk, amelyet korábban kaptunk, akkor a második legjelentősebb bit megváltozik, és így tovább.
A szürke kód generálásának folyamata
Szürke kódtábla
Decimális szám | Bináris szám | Szürke 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 |
tizenegy | 1011 | 1110 |
12 | 1100 | 1010 |
13 | 1101 | 1011 |
14 | 1110 | 1001 |
tizenöt | 1111 | 1000 |