Van binear naar gray-code -> How?

Pagina: 1
Acties:
  • 305 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • Master_Egg
  • Registratie: November 2000
  • Laatst online: 25-04 19:44

Master_Egg

Schapie schapie schapie!

Topicstarter
ik moet een binaire code omzetten naar een gray-code. Om precies te zijn een 5 bits gray-code. Hiervan moet ik een tabel maken (met alle mogelijkheden), ik weet alleen niet goed hoe deze omzetting werkt. Wie kan mij uitleggen wat de logica erachter is?
En hoe ik deze waardes kan omzetten..

Thanks....

Acties:
  • 0 Henk 'm!

Anoniem: 13428

Is het nou gray of cray? Is het bineare of stiekem toch binair?

Acties:
  • 0 Henk 'm!

  • Master_Egg
  • Registratie: November 2000
  • Laatst online: 25-04 19:44

Master_Egg

Schapie schapie schapie!

Topicstarter
Op woensdag 21 februari 2001 22:23 schreef Nem0 het volgende:
Is het nou gray of cray? Is het bineare of stiekem toch binair?
sorry type foutje.. |:( ik bedoelde gray-code en binair

edit:

Already changed. :)

Acties:
  • 0 Henk 'm!

Anoniem: 13428

Voor zover ik weet is een graycode een cyclus van binaire getallen die onderling in bit verschillen.

Voor 3 bits:

000 010 011 001 101 111 110 100

Voor 5 bits gaat het dus analoog.

Wat dit met een waarheidstabel heeft te maken is me niet zo duidelijk. Wel weet ik dat het overeenkomt met het vinden van een Hamiltoncykel in een n-dimensionale hyperkubus. Dit houdt dus ook in dat een Graycode niet eenduidig vast staat.

[edit]
Ohja wat ook wel een handig truukje is is dat je uit kunt bouwen van voorgaande codes door er een 0 en een 1 voor te zetten.

Je neemt dus eerst de code voor n-1 bits, die rij spiegel je en plak je er achter. En dan zet je voor de eerste helft een 0 en voor de tweede helft een 1.

Dus:

0 1 (voor 1 bit)
0 1 1 0 (gespiegeld en geplakt) en dat wordt dan 00 01 11 10

En dan
000 001 011 010 110 111 101 100

En dan

0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000

En dan

00000 00001 00011 00010 00110 00111 00101 00100 01100 01101 01111 01110 01010 01011 01001 01000 11000 11001 11011 11010 11110 11111 11101 11100 10100 10101 10111 10110 10010 10011 10001 10000

Zo nu heb je dus je 5 bits graycode. (mits ik geen typefouten heb gemaakt >:))

[edit2]

Corani was me voor met het truukje maar ik ga dat typewerk natuurlijk niet weghalen :)

Acties:
  • 0 Henk 'm!

  • corani
  • Registratie: December 2000
  • Laatst online: 05-10-2017

corani

__,,,_(^_^)_,,,__

De logica erachter is dat er bij het wisselen van getallen maar 1 bit veranderd. Dit wordt gebruikt bij van die schijven op motoren om te bepalen hoeveel graden de as gedraaid is bijvoorbeeld.
Als dit met normale binaire waardes gedaan wordt, dan slijt het allemaal een beetje te hard, omdat de bits veel te veel wisselen.
Daarom dus Gray code :)

Het omzetten is best simpel. Je begint met 1 bit gray code:

0
1

2 bits graycode

00
01
11
10

Wat er gebeurt is dit:

doe de 1 bits graycode, zet er overal een 0 voor.
doe dan de 2 bits graycode IN OMGEKEERDE VOLGORDE en zet daar een 1 voor.

3 bits graycode

000
001
011
010
110
111
101
100

weer hetzelfde trukje: doe de 2 bits graycode, en zet daar een 0 voor. Doe dan de 2 bits graycode IN OMGEKEERDE VOLGORDE en zet daar een 1 voor.

en ga zo maar door :)

Laat me nou toch eens met rust man!
Iedereen die in telekinese gelooft, steek a.u.b. mijn hand op


Acties:
  • 0 Henk 'm!

  • Master_Egg
  • Registratie: November 2000
  • Laatst online: 25-04 19:44

Master_Egg

Schapie schapie schapie!

Topicstarter
Op woensdag 21 februari 2001 22:27 schreef Nem0 het volgende:
Wat dit met een waarheidstabel heeft te maken is me niet zo duidelijk.
klopt, is een beetje ongelukkig uitgedrukt. Misschien heb ik slaap te kort ofzo >:). Ik bedoel eigenlijk gewoon tabel.
Pagina: 1