logo

Grijze code

De Grijze code is een reeks binaire getalsystemen, ook wel bekend als gereflecteerde binaire code . De reden om deze code de gereflecteerde binaire code te noemen, is dat de eerste N/2-waarden worden vergeleken met die van de laatste N/2-waarden in omgekeerde volgorde. In deze code verschillen twee opeenvolgende waarden met één bit van binaire cijfers. Grijze codes worden gebruikt in de algemene volgorde van door hardware gegenereerde binaire getallen. Deze getallen veroorzaken onduidelijkheden of fouten wanneer de overgang van het ene getal naar het volgende getal is voltooid. Deze code lost dit probleem eenvoudig op door slechts één bit te veranderen wanneer de overgang tussen getallen is voltooid.

De grijze code is een zeer lichte code omdat deze niet afhankelijk is van de waarde van het cijfer dat door de positie wordt gespecificeerd. Deze code wordt ook wel een cyclische variabele code genoemd, omdat de overgang van één waarde naar de daaropvolgende waarde een verandering van slechts één bit met zich meebrengt.

Hoe grijze code genereren?

De prefix- en reflect-methode worden recursief gebruikt om de Gray-code van een getal te genereren. Voor het genereren van grijze code:

  1. We vinden het aantal bits dat nodig is om een ​​getal weer te geven.
  2. Vervolgens vinden we de code voor 0, dat wil zeggen 0000, wat hetzelfde is als binair.
  3. Nu nemen we de vorige code, dat wil zeggen 0000, en veranderen het meest significante deel ervan.
  4. We voeren dit proces teruggetrokken uit totdat niet alle codes uniek zijn geïdentificeerd.
  5. Als we door het veranderen van het meest significante bit dezelfde code vinden die we eerder hebben verkregen, dan zal het op één na meest significante bit worden gewijzigd, enzovoort.
Grijze code

Proces voor het genereren van grijze code

Grijze code

Grijze codetabel

Decimaal getal Binair getal Grijze 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
8 1000 1100
9 1001 1101
10 1010 1111
elf 1011 1110
12 1100 1010
13 1101 1011
14 1110 1001
vijftien 1111 1000