// Gray-code – binair getalstelsel waarbij slechts één bit verschilt tussen opeenvolgende waarden
Tussen opeenvolgende waarden verandert er telkens maar één bit.
Vermindert fouten bij analoog-naar-digitaalconversie.
De eerste en laatste waarde verschillen ook slechts in één bit.
Gray-code (gereflecteerde binaire code) is een binair getalstelsel waarin twee opeenvolgende waarden alleen in één bit van elkaar verschillen. De code wordt gevormd door elk bit te XOR'en met het vorige bit. Deze eigenschap maakt Gray-code ideaal voor positie-encoders en het verminderen van fouten in digitale systemen.
Decimaal | Binair | Gray-code 0 | 0000 | 0000 1 | 0001 | 0001 2 | 0010 | 0011 3 | 0011 | 0010 4 | 0100 | 0110 5 | 0101 | 0111 6 | 0110 | 0101 7 | 0111 | 0100 Opmerking: tussen opeenvolgende Gray-codes verandert slechts één bit
Gray-code, ook wel gereflecteerde binaire code genoemd, is een binair coderingssysteem waarin twee opeenvolgende waarden slechts in één bit verschillen. Het wordt veel gebruikt in digitale systemen om foutieve tussenwaarden tijdens overgangen te vermijden.
Om van binair naar Gray-code te converteren: 1) laat het meest significante bit (MSB) onveranderd, 2) XOR elk bit met het voorgaande bit. Formule: G[i] = B[i] XOR B[i-1]. Bijvoorbeeld: binair 1011 wordt Gray 1110.
In gewone binaire telling kunnen meerdere bits tegelijk veranderen, waardoor tijdelijke ongeldige waarden ontstaan. Gray-code zorgt ervoor dat telkens slechts één bit verandert, wat de uitlezing van roterende encoders betrouwbaarder maakt.
Gray-code wordt gebruikt in roterende encoders, bij het vereenvoudigen met Karnaugh-diagrammen, voor foutcorrectie in digitale communicatie, in genetische algoritmen en in analoog-naar-digitaalomzetters.