La Enciclopedia Libre Universal en Español dispone de una lista de distribución pública, enciclo@listas.us.es
Código binario decimal
El código binario decimal o BCD (del inglés Binary Coded Decimal) es un sistema de numeración no posicional que representa a los números enteros positivos como sucesiones de nibbles. Cada nibble equivale a una cifra decimal.
Por ejemplo, teniendo la siguiente correspondencia entre las diez cifras decimales y sus correspondientes representaciones binarias:
| 0000 = 0 | 0001 = 1 | 0010 = 2 | 0011 = 3 | 0100 = 4 |
|---|---|---|---|---|
| 0101 = 5 | 0110 = 6 | 0111 = 7 | 1000 = 8 | 1001 = 9 |
Como se observa con 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 y se requiere más espacio, aunque se facilita la interpretación humana.
La codificación de un número se realiza asignando a cada dígito de su representación decimal el nibble correspondiente:
| 0101 0000 = 50 | 0001 0001 0010 = 112 | 1001 1001 1001 = 999 |
|---|---|---|
| 0101 1001 0001 0000 0111= 59107 | 0110 0101= 65 | 0110 0110 0110 = 666 |
La ventaja del código BCD frente a la representación binaria clásica en los ordenadores es que no hay un límite inicial para el tamaño de un número. El formato binario estaba limitado por el tamaño de palabra utilizado por el procesador (8, 16 o 32 bits), con lo que el mayor número que se puede representar será 256, 65536 o 4294967296. Por el contrario utilizando BCD añadir un nuevo dígito sólo implica añadir una nueva secuencia de 4 bits. El desarrollo del hardware ha hecho menos relevante esta cualidad.
Se entiende por código BCD extendido o desempaquetado, el código que emplea 8 bits (1 byte) para representar los diez dígitos decimales. A diferencia del caso anterior el nibble de más peso no tiene significado alguno y según el fabricante pueden ser todos '0' o todos '1'.
Ejemplo:
| 0000 0001= 1 | 0000 0011 = 3 | 0000 0001 0000 0011= 13 | <
|---|
Referencias
Notas