Códigos binarios

El sistema básico de codificación binaria es el denominado código binario natural. No obstante, son muy diversos los códigos o convenios de asignación definidos dentro del sistema de numeración binario.

Código binario natural

La construcción del código binario natural obedece a una distribución creciente de pesos, los cuales coinciden con las sucesivas potencias de la base del sistema binario:
2n … 24 (= 16), 23 (= 8), 22 (= 4), 21 (= 2), 20 (= 1)
La formación de los números, cifra a cifra, y de izquierda a derecha, es semejante a la propia del sistema de numeración decimal, cuyos pesos son potencias sucesivas de la base 10. Esto es:
10n … 103 (= 1.000), 102 (= 100), 101 (= 10), 100 (= 1)
Decimal Binario natural
…23 22 21 20 (Distribución de pesos)
…8 4 2 1
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
10 1 0 1 0
11 1 0 1 1
12 1 1 0 0
13 1 1 0 1
14 1 1 1 0
15 1 1 1 1
… …
Con n cifras binarias se pueden obtener 2n combinaciones distintas; cada combinación está en correspondencia biunívoca con una cantidad. Así, con 4 cifras (n = 4) pueden obtenerse 24 = 16 combinaciones o configuraciones binarias distintas.
La naturaleza y correspondencia de estas combinaciones da lugar a los diversos códigos binarios. De todos ellos se estudiarán los más difundidos.

Códigos binarios continuos y cíclicos

* Códigos binarios continuos: son aquellos en los que las combinaciones correspondientes a números decimales consecutivos son adyacentes.
* Códigos binarios cíclicos: reciben este apelativo los códigos binarios continuos cuya última configuración es contigua con la primera.
Los códigos binarios cíclicos se utilizan en convertidores rápidos de variables analógicas a digitales y en circuitos codificadores de posición que convierten un ángulo en una configuración binaria mediante un disco codificado. Comoquiera que de una combinación binaria a la siguiente sólo varía un bit, estos códigos eliminan la posibilidad de que aparezcan combinaciones intermedias erróneas.
– Código Gray
El código binario cíclico más difundido es el código Gray. Se denomina también código reflejado debido al método de formación de dicho código.
Para formar un código Gray de n bits se parte del código para n-1 bits, repitiendo de forma simétrica tales combinaciones y añadiendo un bit 0 para los 2n-1 primeras combinaciones y un bit 1 para las 2n-1 siguientes.
Gray básico de 2 bits Decimal
00 0
01 1
11 2
10 3
– Código Johnson
Otro código cíclico de amplia utilización es el código progresivo Johnson:
La capacidad de codificación para n bits asciende a 2n cantidades distintas. Ello se comprueba de inmediato en la tabulación siguiente realizada para 4 bits.
n = 4 ® Número de configuraciones = 2 · 4 = 8 (del 0 al 7 decimal).
Decimal Jonhson
0 0000
1 0001
2 0011
3 0111
4 1111
5 1110
6 1100
7 1000
Dado que la máxima capacidad de codificación binaria con n bits se eleva a 2n, el código Johnson no se utiliza en sistemas digitales complejos, debido a la gran cantidad de bits que exige para realizar codificaciones extensas.
Su presencia se reserva a contadores muy simplificados integrados, por ejemplo, en el diseño de unidades de control para sistemas digitales.

Códigos BCD

Reciben esta denominación los códigos decimales codificados en binario. Los códigos BCD codifican exclusivamente las cifras decimales, esto es: de 0 a 9.
La existencia de los códigos BCD responde a la necesidad de convertir con inmediatez la información procesada por un sistema lógico digital a información decimal.
En general, el número de combinaciones posibles con n bits se eleva a 2n; luego para cubrir la codificación de las diez cifras decimales será preciso utilizar 4 bits:
24 = 16.
Tres cifras no son suficientes, puesto que cubren tan sólo 8 configuraciones: 23 = 8.
Se observa que en la generación de códigos decimales se desaprovechan gran parte de las posibilidades de codificación con un número de bits determinado.
Esta circunstancia restringe la utilización de los códigos BCD a un número limitado de sistemas; a aquellos en los que resulta primordial garantizar la directa correspondencia entre configuraciones binarias y las cifras del sistema de numeración decimal.
Dentro de los códigos BCD se establecen diversas clasificaciones, la primera de ellas diferencia entre códigos BCD ponderados y no ponderados.
* Códigos BCD Ponderados
A cada dígito binario que forma parte de una configuración se le asigna un peso o valor en función de la posición que ocupa.
El número decimal representado se obtiene sumando los pesos asignados a las posiciones que presentan un estado lógico 1.
Existen muy variados tipos de códigos BCD ponderados: BCD natural, BCD Aiken, etc. El más utilizado es el código BCD natural.
La siguiente tabla muestra tres de los códigos BCD ponderados de mayor difusión:
Decimal BCD Natural BCD Aiken (5421)
P3 P2 P1 P0 P3 P2 P1 P0 P3 P2 P1 P0
8 4 2 1 2 4 2 1 5 4 2 1
0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 0 0 1
2 0 0 1 0 0 0 1 0 0 0 1 0
3 0 0 1 1 0 0 1 1 0 0 1 1
4 0 1 0 0 0 1 0 0 0 1 0 0
5 0 1 0 1 1 0 1 1 1 0 0 0
6 0 1 1 0 1 1 0 0 1 0 0 1
7 0 1 1 1 1 1 0 1 1 0 1 0
8 1 0 0 0 1 1 1 0 1 0 1 1
9 1 0 0 1 1 1 1 1 1 1 0 0
En el caso del código BCD natural se observa que la correspondencia entre las cifras decimales y las configuraciones binarias que las codifican obedecen al procedimiento expuesto para el código binario natural.
Por ejemplo, la configuración BCD natural 0110 corresponde la cifra decimal 6, ya que posee sendos 1 en las posiciones de pesos 4 y 2. En efecto: 4 + 2 = 6 (cifra decimal representada).
* Codigos BCD no ponderados
Son los códigos BCD en los que no hay establecida ninguna relación de pesos.
Entre los códigos de esta categoría el más difundido es el digo BCD exceso-tres.
Su denominación responde al método de formación del código: la configuración binaria asignada a una cifra decimal N coincide con la asignada a N + 3 en el código binario natural.
Cifra decimal BCD exceso-tres codificada
a b c d
0 0 0 1 1
1 0 1 0 0
2 0 1 0 1
3 0 1 1 0
4 0 1 1 1
5 1 0 0 0
6 1 0 0 1
7 1 0 1 0
8 1 0 1 1
9 1 1 0 0
El código BCD exceso-tres posee la particularidad de ser un código autocomplementario, es decir: la configuración corresponente a una cifra decimal N coincide con el complemento lógico a 1 de la configuración correspondiente al complemento a 9 de la cifra decimal en cuestión.
– Ejemplo:
N = 4 ® 0111 en BCD exceso-tres
Complemento a 9 de N: (Ca9) de N = 9 – N = 9 – 4 = 5, luego:
(Ca9) de N = 5 ® 1000 en BCD exceso-tres
Efectivamente, la configuración asignada a la cifra decimal 5 (1000) es el complemento lógico a 1 de la configuración correspondiente a la cifra decimal 4 (0111):
1000 = 0111
Esta propiedad del código BCD exceso-tres resulta útil para la resolución electrónica de operaciones lógicas y aritméticas, ya que simplifica la circuitería precisa para la realización de operacio nes en las que interviene el complemento a nueve de una cifra decimal. La referida situación se da en los circuitos aritméticos sumadores/restadores en BCD.

Codificación de magnitudes en BCD
Como se ha visto existe una amplia diversidad de códigos BCD. En todos ellos la codificación y decodificación se realiza separadamente para cada una de las cifras decimales que componen el número. La correspondencia entre la cifra decimal y los cuatro bits de la configuración binaria correspondiente queda determinada por el tipo de código BCD utilizado.

A título de ejemplo se codificará a continuación una determinada cantidad decimal en los códigos BCD natural y BCD exceso-tres.
Número decimal a codificar: 1.476.
Apelando a una codificación cifra a cifra según las tablas reproducidas anteriormente, resulta:
BCD natural: 0001 0100 0111 0110
BCD exceso-tres: 0100 0111 1010 1001
Diferencias entre los códigos binario natural y BCD natural
El código binario natural no es un código restringido a la codificación de cifras decimales, mientras el BCD natural es un código exclusivamente reservado a la representación de las cifras del sistema de numeración decimal.
El código BCD natural está integrado por configuraciones de cuatro bits, sea cual fuere el símbolo o cifra decimal representada. El código binario natural, por su parte, es un código genérico utilizable para generar configuraciones de cualquier número de bits.
Esta última precisión se observa claramente al codificar un mismo número decimal de dos o más cifras en ambos códigos:
– Número decimal a codificar = 27
Código binario natural: 11011
Código BCD natural: 00100111
En efecto, mientras que el binario natural codifica al número decimal en su conjunto, el BCD natural lo hace cifra a cifra de forma independiente.

Códigos alfanuméricos

Los códigos alfanuméricos se desarrollaron ante la necesidad de representar, además de los caracteres numéricos decimales, las letras del alfabeto y signos especiales.
Internacionalmente se ha adoptado un tipo convencional de código alfanumérico, el código ASCII, que responde a la denominación de American Standard Code for Information Interchange (Código estándar americano para el intercambio de información).
* Código ASCII
Existen algunas variantes del código ASCII diferenciadas por el número de bits que intervienen en las configuraciones binarias de codificación.
La versión más reducida es el código ASCII de 6 bits, el cual codifica un total de 26 = 64 caracteres: los 10 caracteres numéricos decimales, un conjunto de 26 caracteres alfabéticos y 28 símbolos especiales.
Las versiones actualmente más utilizadas codifican los caracteres alfanuméricos a partir de configuraciones de 7 e incluso de 8 bits.
Los códigos ASCII son ampliamente utilizados en los ordenadores.
* Código EBCDIC
A pesar de que el código ASCII es el más ampliamente difundido, algunas empresas de sistemas informáticos han creado su propio código alfanumérico.
Este es el caso de IBM, en cuyos equipos se utiliza habitualmente el código alfanumérico EBCDIC.

Deja un comentario

  • Responsable: Octavio Ortega Esteban
  • Fin del tratamiento: Controlar el spam, gestión de comentarios
  • Legitimación: Tu consentimiento
  • Comunicación de datos: No se comunicarán los datos a terceros salvo por obligación legal
  • Derechos: Acceso, rectificación, portabilidad, olvido.
  • Contacto: Octavio[arroba]kerchak.com
  • Información adicional: Más información en nuestra política de privacidad