Conversor de Código



El conversor de código es un circuito similar a un decodificador o un codificador, pero utiliza otros códigos a la entrada o a la salida; la diferencia es que tendremos tantos conversores de código como códigos que queramos convertir y, por tanto, para diseñar un conversor de código es necesario primeramente definir los códigos de entrada y de salida que manejará el circuito. 

Los códigos más utilizados son el binario BCD 8421, octal, hexadecimal y el decimal, los dispositivos digitales pueden procesar solamente los bits "1" y "0" . Estas largas cadenas de 1 y 0 son difíciles de comprender por las personas. Por esta razón se necesitan los conversores de códigos para traducir el lenguaje de la gente al lenguaje de la máquina.

Un ejemplo de conversor de código es una sencilla calculadora manual, la cual está constituida por un dispositivo de entrada llamado teclado. Entre el teclado y la unidad central de tratamiento "CPU" hay un codificador, que traduce el número decimal pulsado en el teclado a código binario. La "CPU" realiza su operación en binario y produce un resultado en código binario. El decodificador traduce el código binario de la CPU a un código especial que hacen que luzcan los segmentos adecuados en el visualizador de siete segmentos.

Conversión de Binario a Decimal

Cualquier número Binario puede ser convertido en su equivalente ENTERO Decimal. La forma de hacerlo es sumar en el número Binario todas las posiciones que contengan el valor 1. Veamos el ejemplo de conversión del número Binario de 4 bits (1010), Esto se podría expresar de la siguiente manera:

Número Binario de 4 Bits: 1010
Conversión por posiciones: (1 x 2 a la 3ª ) + (0) + (1 x 2 a la 1ª ) + (0)
Número Decimal: 8 + 0 + 2 + 0 = 10

Convirtiendo un número con 6 Bits:
Número Binario de 8 Bits: 100110
Conversión por posiciones: (1x2 a la 5ª)+(0)+(0)+(1x2 a la 2ª)+(1x2 a la 1ª)+(0)
Número Decimal: 32 + 0 + 0 + 4 + 2 = 38

Conversión de Decimal a Binario

La conversión de un número decimal ENTERO a su equivalente Binario, puede lograrse de dos formas diferentes.


La Primera Forma es utilizar de forma inversa el método anterior, comenzamos por restar los valores de los bits (potencias de 2) más cercanos al valor decimal hasta llegar a cero, luego se completa con ceros los valores faltantes entre los bits, convertir 150:

  • La potencia de 2 más cercana a 152 es 128 (2 a la 7ª , Octavo Bit) 152 -128=22
  • La potencia de 2 más cercana a 22 es 16 (2 a la 4ª , Quinto Bit) 22 - 16 =6
  • La potencia de 2 más cercana a 6 es 4 (2 ala 2ª , Tercer Bit) 6-4=2
  • La potencia de 2 más cercana a 2 es 2 (2 ala 1ª , Segundo Bit) 2-2 = 0


La segunda es la llamada "División Repetida", esta manera de conversión se basa en repetir la división del número decimal entre dos, hasta llegar al cero. Si el residuo de la división no es un número entero, se marca un 1 y se toma el número entero para volver a dividir entre dos, cuando el Residuo es un número entero, se marca un cero y se toma el número para volver a dividir entre dos. El residuo de la primero división es el (LSB, primer Bit), el residuo de la última división es el (MSB, último Bit). Esto se ilustra así:




Conversión del Sistema Octal a Decimal

La conversión de un número octal a uno decimal es muy sencilla, sólo necesitamos multiplicar cada uno de los dígitos por el valor que corresponde a su posición. Para convertir el número 435 comenzamos por:

  • Tres posiciones 8 a la 2ª , 8 la 1ª , 8 a la 0.
  • Primer Bit Octal (5 x 8 a la 0) = 5 x 1 = 5
  • Segundo Bit Octal (3 x 8 a la 1ª ) = 3 x 8 = 24
  • Tercer Bit Octal (4 x 8 a la 2ª ) = 4 x 64 = 256
  • Número decimal = (5 + 64 + 256ª ) = 285

Conversión del Sistema Decimal a Octal

Un número Decimal ENTERO puede convertirse al sistema Octal utilizando también la "División Repetida", pero en este caso, nuestro factor para dividir será el 8, de la misma manera, el residuo de la primera división será el LSB, y el residuo de la última división será el MLB. Para poder saber el número que se convierte en cada Bit octal, se multiplica la fracción del residuo por 8, y se toma el número entero para volver a dividir entre 8. Convertir el decimal 150 a Octal nos daría:




Conversión del Sistema Octal a Binario

Una de las grandes ventajas del Sistema Octal, es que fácilmente podemos convertir un número Octal al Sistema Binario. Este proceso se realiza convirtiendo cada número Octal en su equivalente del Sistema Binario, pero con la diferencia que se utilizan forzosamente 3 Bits. De manera que Cada Bits Octal es convertido por separado en su equivalente Binario. Convertir el número Octal 561 al sistema Binario sería:



Conversión del Sistema Binario a Octal

El proceso de conversión de números Binarios ENTEROS al Sistema Octal se logra invirtiendo el proceso descrito arriba. Lo primero que hacemos es agrupar todos los bits del número Binario en grupos de tres, iniciando con el LSB (Primer Bit). Ya que tenemos separados los Bits, se convierte cada trío a su equivalente del Sistema Octal. En el caso de que en el último grupo de Bits (MLB) no se pueda hacer un trío, se agregan ceros hasta lograrlo.

Convertir un número Binario que tiene sus tríos completos, 101110001 al Sistema Octal sería:

  • Se agrupan los bits en tríos (101110001) = 101 - 110 - 001
  • Se convierte el Primer trío (donde se encuentra el LSB) 001 = 1
  • Se convierte el Segundo trío 110 = 6
  • Se convierte el Tercer trío (donde se encuentra el MSB) 101 = 5
  • Número Octal = 561


Convertir un número Binario que no tiene sus tríos completos, 10101110001 al Sistema Octal sería:

  • Se agrupan los bits en tríos (10101110001) = 10 - 101 - 110 - 001
  • Completar los tríos (agregando un 0) = 010 - 101 - 110 - 001
  • Se convierte el Primer trío (donde se encuentra el LSB) 001 = 1
  • Se convierte el Segundo trío 110 = 6
  • Se convierte el Tercer trío 101 = 5
  • Se convierte el Cuarto trío (donde se encuentra el MSB) 010 = 2
  • Número Octal = 2561

Conversión del Sistema Hexadecimal a Decimal

Para convertir un número del Sistema Hex a su equivalente Decimal necesitamos primero recordar que la posición de los números en del Sistema Hex, basan su valor en una potencia de 16. El Primer Bit (LSB) sería 16 a la 0 = (1), el segundo Bit sería 16 a la 1ª = (16), el tercer Bit sería 16 a la 2ª = (256), aumentando las potencias de 16 hasta llegar al último Bit (MLB). La conversión se realiza entonces de la siguiente manera:

  • Convertir el número Hex 182 al Sistema Decimal






  • Convertir el número Hex 6AF al Sistema Decimal








Conversión del Sistema Decimal a Hexadecimal


Nuevamente acudimos a la "División repetida para lograr esta conversión, al igual que en los ejemplos anteriores (división por 2 para convertir Decimal a Binario, y división por 8 para convertir Decimal a Octal), pero esta vez, la división será por 16. Al igual que antes, si el residuo contiene fracciones decimales, se multiplican por 16 y se toma el número entero para la nueva división por 16. Convertir los números 1711 y 386 del Sistema Decimal s Hex.



Conversión del Sistema Hexadecimal a Binario

Al igual que en la conversión del Sistema Octal (que se convierten en tríos de Bits Binarios), en la conversión del Sistema Hexadecimal a Binario, cada Bit Hex se convierte en cuartetos de Bits Binarios.

Convertir el número del Sistema Hex 8A1 a Binario sería:


Conversión del Sistema Binario a Hexadecimal


La forma de convertir un número del Sistema Binario a Hex, es completamente opuesta a la presentada arriba. Se forman cuartetos de Bits Binarios (comenzando desde el LSB) hasta el MSB. Al igual que en la conversión de Sistema binario a Octal, en caso de que no se completen los cuartetos, se agregan los ceros necesarios para completar lo últimos cuatro Bits.

Convertir el número del Sistema Binario 100010100001 a Hex sería:

  • Se agrupan los bits en cuartetos (100010100001) = 1000 - 1010 - 0001
  • Se convierte el Primer cuarteto (donde se encuentra el LSB) 0001= 1
  • Se convierte el Segundo trío 1010 = 10 = A
  • Se convierte el Tercer trío (donde se encuentra el MSB) 1000 = 8
  • Número Hex = 8A1

1 comentarios:

Franco Villar dijo...

gracias por toda la información, me viene genial para el trabajo practico de sistemas digitales.

Publicar un comentario

Con la tecnología de Blogger.

Translate