Der Cray-Code ist ein Binärcode. Ein n-stelliger Cray-Code ordnet jeder Zahl von 0...2n-1 einen anderen Wert zu.
Inhaltsverzeichnis
Eigenschaften
Die Besonderheit des Cray-Codes besteht darin, daß benachbarte Werte sich in genau einem Bit unterscheiden; das gilt auch für den Übergang zwischen 2n-1 und 0.
Rotiert man also die den Zahlen zugeordneten Codes – wobei man sich 0 und 2n-1 als Nachbarn denkt – erhält man wieder einen Cray-Code.
Anwendung
Eine Anwendung finden Cray-Codes in Inkrementgebern. Würde ein Inkrementgeber eine herkömmliche Binärzahl als Position liefern, also etwa 101 für 5 und 110 für 6, dann gäbe es ein Problem, wenn nicht alle Bits absolut gleichzeitig ihre Wertigkeit änderten. In dem Fall könnten "Phantomwerte" wie 100 (4) oder 111 (7) auftreten. Der Cray-Code hat dieses Problem nicht, da sich benachbarte Werte nur ein einem Bit unterscheiden.
Beispiele
- Ein 2-stelliger Cray-Code
0 1 2 3 0
- Ein 4-stelliger Cray-Code
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0
--SprinterSB 14:46, 23. Feb 2006 (CET)