Decimal codificado en binario

Decimal codificado en binario

En sistemas de computación, Binary-Coded Decimal (BCD) o Decimal codificado en binario es un estándar para representar números decimales en el sistema binario, en donde cada dígito decimal es codificado con una secuencia de 4 bits. Con esta codificación especial de los dígitos decimales en el sistema binario, se pueden realizar operaciones aritméticas como suma, resta, multiplicación y división de números en representación decimal, sin perder en los cálculos la precisión ni tener las inexactitudes en que normalmente se incurre con las conversiones de decimal a binario puro y de binario puro a decimal. La conversión de los números decimales a BCD y viceversa es muy sencilla, pero los cálculos en BCD se llevan más tiempo y son algo más complicados que con números binarios puros.

Contenido

Representación BCD

Cada dígito decimal tiene una representación binaria codificada con 4 bits:

Decimal:    0     1     2     3     4     5     6     7     8     9
BCD:     0000  0001  0010  0011  0100  0101  0110  0111  1000  1001

Los números decimales, se codifican en BCD con los de bits que representan sus dígitos.

Por ejemplo, la codificación en BCD del número decimal 59237 es:

Decimal:    5    9    2    3    7
BCD:     0101 1001 0010 0011 0111

La representación anterior (en BCD) es diferente de la representación del mismo número decimal en binario puro:

11100111 01100101

Fundamentos

En BCD cada cifra que representa un dígito decimal (0, 1,...8 y 9) se representa con su equivalente binario en cuatro bits (nibble o cuarteto) (esto es así porque es el número de bits necesario para representar el nueve, el número más alto que se puede representar 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 sólo 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.

  • Una forma sencilla de calcular números en BCD es sumando normalmente bit a bit, y si el conjunto de 4 bits sobrepasa el número 9, entonces se le suma un 6 (0110) en binario, para poder volver a empezar, como si hiciéramos un módulo al elemento sumante.

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 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.

CONVERSIONES DE DECIMAL A XS3 - EXCESO 3

La conversión de números decimales a exceso 3 (Xs3) se lo realiza de la siguiente forma: Ejemplo:


Transformar el decimal 67 a xs3


Tomamos cada digito y le sumamos 3:

6+3=9

7+3=10

Ahora cada cantidad es transformada a binario:

9=1001

10= 1010

Por lo que el resultado de la conversión a xs3 será el número 10011010


IMPORTANTE: Algunos textos indican que una vez adicionado el 3 a cada digito se debe transformar a BCD, esto es incorrecto. La transformación se hace directamente a binario.


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. Hay un programa que se llama b1411 que sirve para dividir al sistema binario en dos combinaciones. Una por ejemplo es la de sistemas digitales.

IBM y el BCD

IBM utilizó los términos decimal codificado en binario y BCD para el código binario 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 de la patentabilidad del software y de los algoritmos.

Véase también

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Поможем сделать НИР

Mira otros diccionarios:

  • Código binario decimal — Saltar a navegación, búsqueda 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 ponderado debido a …   Wikipedia Español

  • Motorola Coldfire — El Freescale ColdFire es un microprocesador de arquitectura de 68k fabricado para desarrollo de sistemas integrados por Freescale (anteriormente el sector dedicado a semiconductores de Motorola). El conjunto de instrucciones del ColdFire es… …   Wikipedia Español

  • Representación de números con signo — Saltar a navegación, búsqueda En matemáticas, los números negativos en cualquier base se representan del modo habitual, precediéndolos con un signo «−». Sin embargo, en una computadora, hay varias formas de representar el signo de un número. Este …   Wikipedia Español

  • Código biquinario — El código biquinario es un sistema de numeración usado en ábacos y en algunos de los primeros ordenadores, como el Colossus. El término biquinario se refiere a que el código tiene una parte de dos estados (bi) y otra de cinco estados (quin).… …   Wikipedia Español

  • Bit — Saltar a navegación, búsqueda Bit es el acrónimo de Binary digit. (dígito binario). Un bit es un dígito del sistema de numeración binario. Mientras que en el sistema de numeración decimal se usan diez dígitos, en el binario se usan sólo dos… …   Wikipedia Español

  • Base64 — Base 64 es un sistema de numeración posicional que usa 64 como base. Es la mayor potencia de dos que puede ser representada usando únicamente los caracteres imprimibles de ASCII. Esto ha propiciado su uso para codificación de correos electrónicos …   Wikipedia Español

  • Lenguaje ensamblador — Para otros usos de este término, véase Ensamblador (desambiguación). Lenguaje de máquina del Intel 8088. El código de máquina en hexadecimal se resalta en rojo, el equivalente en lenguaje assembler en magenta, y las direcciones de memoria donde… …   Wikipedia Español

  • ASCII — Para otros usos de este término, véase ASCII (desambiguación). Hay 95 caracteres ASCII imprimibles, numerados del 32 al 126. ASCII (acrónimo inglés de American S …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”