WikiDer > Gray-Code
EIN Gray-Code ist ein binärCodierung die die Eigenschaft hat, dass sich zwei aufeinanderfolgende Zahlen immer nur um ein Bit unterscheiden und daher auch a . genannt wird ein Änderungscode wird genannt. Im Gegensatz zu einem gewichteten Binärcode kann der Code nicht durch eine einfache Summe von Zweierpotenzen reduziert werden. Darüber hinaus gibt es mehrere Möglichkeiten, Gray-Codes zu erstellen.
Gray-Codes können dort eingesetzt werden, wo z. B. eine mechanische Position in ein umgerechnet werden muss Digital Code. Schalten nicht alle Stellungsregler exakt gleichzeitig, entsteht kein unbeabsichtigter Zwischenwert. Wenn bei gewichteten Codes ein Fehler in einem der höherwertigen Bits auftritt, kann der Fehler erheblich größer sein.
Beispiel
| Dezimal | Grau | Nur binär |
|---|---|---|
| 0 | 0 0 0 0 | 0 0 0 0 |
| 1 | 0 0 0 1 | 0 0 0 1 |
| 2 | 0 0 1 1 | 0 0 1 0 |
| 3 | 0 0 1 0 | 0 0 1 1 |
| 4 | 0 1 1 0 | 0 1 0 0 |
| 5 | 0 1 1 1 | 0 1 0 1 |
| 6 | 0 1 0 1 | 0 1 1 0 |
| 7 | 0 1 0 0 | 0 1 1 1 |
| 8 | 1 1 0 0 | 1 0 0 0 |
| 9 | 1 1 0 1 | 1 0 0 1 |
| 10 | 1 1 1 1 | 1 0 1 0 |
| 11 | 1 1 1 0 | 1 0 1 1 |
| 12 | 1 0 1 0 | 1 1 0 0 |
| 13 | 1 0 1 1 | 1 1 0 1 |
| 14 | 1 0 0 1 | 1 1 1 0 |
| 15 | 1 0 0 0 | 1 1 1 1 |
Beim Übergang zwischen Position 7 und 8 ändern sich alle Bits in einem gewichteten binär codierten Generator. Eine Windfahne mit 16 Sektoren und 4-Bit-Kodierung wird dann, wenn sie zwischen Code 7 und 8 zögert, vielleicht eine Zwischenablesung von 1111 oder 0000 (oder jedem anderen möglichen Code) liefern. Bei einem Gray-Code gibt es für 0100 und 1100 keinen Zwischenzustand, da sich nur das linke Bit ändert, es gibt also keine Nebeneffekte ("Glitches") Platz während des Übergangs.
Ein Algorithmus
EIN Algorithmus Um einen Gray-Code aus einer beliebigen Anzahl von Bits zusammenzusetzen, gehen Sie wie folgt vor:
Nehmen Sie einen 1-Bit-Code, zum Beispiel:
| Schritt 1 | |
|---|---|
| Nummer | Gray-Code |
| 0 | 0 |
| 1 | 1 |
Setzen Sie die Tabelle in umgekehrter Reihenfolge unter oder über die bestehende und schreiben Sie eine 0 in eine neue Spalte für das alte Stück und eine 1 für das neue Stück (der Originalteil ist fett dargestellt, die neue Spalte kursiv):
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Wiederholen, bis die gewünschte Anzahl von Bits erreicht ist.
Ein anderes Zahlensystem
Auch mit anderen Zahlensysteme ein Gray-Code ist möglich. Zum Beispiel dezimal:
| Normale Dezimalzahl | Grau dezimal | ||
|---|---|---|---|
| von | bis zu | von | bis zu |
| 0 | 9 | 000 | 009 |
| 10 | 19 | 019 | 010 |
| 20 | 29 | 020 | 029 |
| 30 | 39 | 039 | 030 |
| 90 | 99 | 099 | 090 |
| 100 | 109 | 190 | 199 |
| 110 | 119 | 189 | 180 |
| 120 | 129 | 170 | 179 |