logo

Сив код

The Сив код е последователност от двоични бройни системи, която е известна още като отразен двоичен код . Причината за извикването на този код като отразен двоичен код са първите N/2 стойности, сравнени с тези на последните N/2 стойности в обратен ред. В този код две последователни стойности се различават с един бит двоични цифри. Кодовете на Грей се използват в общата последователност от хардуерно генерирани двоични числа. Тези числа причиняват неясноти или грешки, когато се извършва преходът от едно число към неговото следващо. Този код просто решава този проблем, като променя само един бит, когато преходът е между числа.

Сивият код е много лек код, защото не зависи от стойността на цифрата, посочена от позицията. Този код се нарича още код на циклична променлива, тъй като преходът на една стойност към нейната последователна стойност носи промяна само на един бит.

Как да генерирам код на Грей?

Префиксът и методът за отразяване се използват рекурсивно за генериране на кода на Грей на число. За генериране на сив код:

  1. Намираме броя на битовете, необходими за представяне на число.
  2. След това намираме кода за 0, т.е. 0000, който е същият като двоичния.
  3. Сега вземаме предишния код, т.е. 0000, и променяме най-значимия бит от него.
  4. Извършваме този процес тайно, докато всички кодове не бъдат уникално идентифицирани.
  5. Ако чрез промяна на най-значимия бит намерим същия код, получен преди това, тогава вторият най-значим бит ще бъде променен и т.н.
Сив код

Процес на генериране на 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
8 1000 1100
9 1001 1101
10 1010 1111
единадесет 1011 1110
12 1100 1010
13 1101 1011
14 1110 1001
петнадесет 1111 1000