AZ Tools

Conversor de código Gray

Convertir

El código Gray (binario reflejado) es un ordenamiento de números binarios en el que dos valores sucesivos difieren en exactamente un bit. Esa propiedad de cambio de un solo bit lo hace valioso para encoders rotativos, mapas de Karnaugh y detección de posición resistente a errores, porque no aparecen valores intermedios transitorios cuando varios bits cambiarían a la vez. El binario se convierte a Gray con g = b XOR (b >> 1); la decodificación recorre los bits con un XOR acumulado. Esta herramienta convierte en todas las direcciones: escribe un número decimal, un valor binario o un valor en código Gray y muestra las otras representaciones. Elige un ancho de bits fijo para rellenar con ceros la salida.

Decimal
42
Binario
101010
Código Gray
111111
Referencia (0-7)
DecimalBinarioCódigo Gray
0000000
1001001
2010011
3011010
4100110
5101111
6110101
7111100

Binario → Gray: g = b XOR (b >> 1). Los valores Gray consecutivos difieren en exactamente un bit. El ancho de bits solo rellena la salida con ceros.

Cómo usar

  1. Elige si tu entrada es decimal, binaria o código Gray.
  2. Escribe el valor; las formas decimal, binaria y Gray se actualizan al instante.
  3. Opcionalmente fija un ancho de bits (4/8/16/32) para rellenar con ceros la salida binaria y Gray.

Preguntas frecuentes

¿Para qué se usa el código Gray?
Encoders de posición rotativos y lineales, ordenamiento de mapas de Karnaugh y cualquier sistema donde solo un bit deba cambiar entre estados adyacentes para evitar fallos durante las transiciones.
¿Cómo se convierte binario a código Gray?
XOR del número consigo mismo desplazado un bit a la derecha: gray = n ^ (n >> 1). La decodificación lo invierte con un XOR en cascada desde el bit más significativo.
¿Por qué binario 2 (10) y 3 (11) se vuelven Gray 11 y 10?
El código Gray garantiza una diferencia de un solo bit entre valores consecutivos. De 2 a 3 solo cambia el último bit en binario, pero la secuencia Gray se refleja para mantener cada paso como un cambio de un bit.
¿Maneja números grandes?
Sí: la conversión usa enteros de precisión arbitraria, así que valores muy por encima de 32 o 64 bits se convierten con exactitud. La opción de ancho de bits solo rellena la visualización.

Herramientas relacionadas