article

Binary-coded decimal (BCD8421) es un sistema numérico usado en sistemas computacionales y electrónicos para codificar números enteros positivos y facilitar las operaciones aritméticas, es un código pesado debido a que con un orden específico (8421).

Fundamentos


En BCD cada cifra que representa a un dígito decimal (0, 1, ...8 y 9) se representa con su equivalente binario en 4 bits (cuarteto) (esto es así porque 4 es el número de bits necesario para representar el 9, el número más alto cifrable en BCD). En la siguiente tabla se muestran los códigos BCD más empleados:

Decimal Natural Aiken 5 4 2 1 Exceso 3
0 0000 0000 0000 0011
1 0001 0001 0001 0100
2 0010 0010 0010 0101
3 0011 0011 0011 0110
4 0100 0100 0100 0111
5 0101 1011 1000 1000
6 0110 1100 1001 1001
7 0111 1101 1010 1010
8 1000 1110 1011 1011
9 1001 1111 1100 1100

Como se observa con el BCD sólo se utilizan 10 de las 16 posibles combinaciones que se pueden formar con números de 4 bits, por lo que el sistema pierde capacidad de representación, aunque se facilita la compresión de los números. Esto es porque el BCD solo se usa para representar cifras no números en su totalidad. Esto quiere decir que para números de más de una cifra hacen falta dos números BCD para componerlo. A primera vista esto puede parecer más engorroso pero en realidad de cara al cálculo y la programación de sistemas digitales es sumamente práctico ya que permite trabajar de hecho con números decimales ordinarios haciendo uso solo de los dos bits posibles que otorga un circuito digital típico ON (1) / OFF (0). Algo que como se verá resulta muy útil.

Desde que los sistemas informáticos empezaron a almacenar los datos en conjuntos de ocho bits (octeto), hay dos maneras comunes de almacenar los datos BCD:

  • Omisión de los cuatro bits más significativos(como sucede en el EBCDIC)
  • Almacenamiento de dos datos BCD, es el denominado BCD "empaquetado", en el que también se incluye en primer lugar el signo, por lo general con 1100 para el + y 1101 para el -.

De este modo, el número 127 sería representado como (11110001, 11110010, 11110111) en el EBCDIC o (00010010, 01111100) en el BCD empaquetado.

El BCD sigue siendo ampliamente utilizado para almacenar datos, en aritmética binaria o en electrónica. Los números se pueden mostrar fácilmente en visualizadores de siete segmentos enviando cada cuarteto BCD a un visualizador. La BIOS de un ordenador personal almacena generalmente la fecha y la hora en formato del BCD, probablemente por razones históricas se evitó la necesidad de su conversión en ASCII.

La ventaja del código BCD frente a la representación binaria clásica es que no hay límite para el tamaño de un número. Los números que se representan en formato binario están generalmente limitados por el número mayor que se pueda representar con 8, 16, 32 o 64 bits. Por el contrario utilizando BCD añadir un nuevo dígito sólo implica añadir una nueva secuencia de 4 bits.

BCD extendido


Se entiende por código BCD extendido empaquetado, el código que emplea 8 bits (1 octeto) para representar los diez dígitos decimales. A diferencia del caso anterior el cuarteto de más no tiene significado alguno y según el fabricante pueden ser todos '0' o todos '1'. La utilidad de este código extendido implica el gasto de 1 byte para guardar en memoria una cifra decimal. En el código ASCII los números han de ser representados así ya que éste es un código alfanumérico diseñado para la representación de muchos más caracteres, aunque en este caso el cuarteto de más es siempre un 0011.

  • Ejemplo: el número 1310 en código BCD extendido sería 0000 0001 y 0000 0011 (1 y 3)

El BCD en electrónica


El BCD es muy común en sistemas electrónicos donde se debe mostrar un valor numérico, especialmente en los sistemas digitales no programados (sin microprocesador o microcontrolador).

Utilizando el código BCD, se simplifica la manipulación de los datos numéricos que deben ser mostrados por ejemplo en un visualizador de siete segmentos. Esto lleva a su vez una simplificación en el diseño físico del circuito (hardware). Si la cantidad numérica fuera almacenada y manipulada en binario natural, el circuito sería mucho más complejo que si se utiliza el BCD.

IBM y el BCD


IBM utilizó los términos decimal codificado en binario y BCD para los códigos binarios de seis bits con el que representaron números, letras mayúsculas y caracteres especiales. Una variante del BCD fue utilizada en la mayoría de las primeras computadoras de IBM, incluyendo IBM1620 e IBM 1400. Con la introducción de System/360, el BCD fue substituido por el EBCDIC de ocho bits.

Las posiciones de los bits, en el BCD de seis bits, generalmente fueron etiquetadas como B, A, 8, 4, 2 y 1. Para codificar los dígitos numéricos, A y B eran cero. La letra A fue codificada como (B,A,1).

Historia legal


En 1972, el Tribunal Supremo de Estados Unidos anuló la decisión de una instancia más baja de la corte que había permitido una patente para convertir números codificados BCD a binario en una computadora (véase Gottschalk v Benson en inglés). Este fue uno de los primeros casos importantes en la determinación del patentabilidd del software y de los algoritmos.

Véase también


Enlaces externos


Teoría de la información | Aritmética computacional | Electrónica

BCD | BCD (tal) | BCD-Code | Binary-coded decimal | Binary coded decimal | עשרוני בקידוד בינארי | BCD | 二進化十進表現 | BCD-code | Kod BCD | Codificação binária decimal | BCD | 二進碼十進數

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Código binario decimal".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld