Código Gray a Binario

Iniciado por Zmowa Milczenia, 19 Marzo 2008, 19:56 PM

0 Miembros y 1 Visitante están viendo este tema.

Zmowa Milczenia

Hola compañeros, necesito algo sobre como convertir código gray a binario y vicerversa, encontre un metodo por espejos pero no me es muy claro... Alguien me puede ayudar?

Se los agradeceria demasiado  :)
¡¡¡¡¡La inteligencia y la belleza hecha carne!!!!!

Zmowa Milczenia

#1
Bueno, bueno en vista del exito no obtenido eh aquí lo poco que eh investigado acerca de esta conversión.... (nuevamente gracias por ayudar  :¬¬).

Ok la conversión al codigo binario de un codigo gray es muy sencilla, es simplemente saber aplicar la XOR.

XOR, ya sabes.

A  B  XOR
0   0   0
0   1   1
1   0   1
1   1   0

(que es lo mismo que; si son iguales es 0 y si son diferentes es 1).

Ahora la conversión.

si tenemos un numero binario (13)

1100

Para convertirlo a gray es el siguiente algoritmo.

de izquierda a derecha empezando por el bit menos significativo (LMS)
osease que las operaciones siguen el orden de la flecha.

1  1  0  0
--------->

el primer dígito siempre se respeta
y despues del primero se va realizando las operaciones XOR.

Como se muestra en este ejemplo

1    1    0    0
\   / \   / \   /
   I      I     I
1 0      1    0

Hay que rescatar que el primer digito siempre se respeta.Despues de que se tiene el primer digito se van comparando así como se los quiero mostrar en la figura  :laugh:

Cualquier duda y/e observación bienvenida :D

¡¡¡¡¡La inteligencia y la belleza hecha carne!!!!!

tata0487

Esta muy buena tu explicación, pero le encontre un error que podria confundir a otros, el numero binario que usaste de ejemplo no es 13 sino 12.

Dem0ny

1101.

Si hubiera visto el post antes te hubiera echado una mano, tengo por ahi bastante info sobre el codigo gray

Nusky

Lo tienes todo mal. Lo que has hecho es convertir el binario a Gray. Para convertir el Gray a binario se respeta el bit de más a la izquierda (ese es el mismo en Gray que en binario) y vas sumando cada bit binario generado con el siguiente bit del código Gray descartando los acarreos.