Código decimal binario

El decimal codificado en binario , BCD , 8421-BCD es una forma de escribir números racionales, cuando cada dígito decimal de un número se escribe como su  código binario de cuatro bits . Así, cada tétrada BCD puede tomar valores desde 0000 2 (0 10 ) hasta 1001 2 (9 10 ).

Por ejemplo, el número decimal 311 10 se escribiría en notación binaria como 1 0011 0111 2 y en BCD como 0011 0001 0001 BCD .

Descripción

Con 4 bits , se pueden codificar 16 dígitos. De estos, se utilizan 10. Las 6 combinaciones restantes en el código BCD están prohibidas. Tabla de correspondencia para código decimal codificado en binario y dígitos decimales:

Combinaciones Permitidas
Código decimal binario codigo decimal
0 0 0 0 0
0 0 0 una una
0 0 una 0 2
0 0 una una 3
0 una 0 0 cuatro
0 una 0 una 5
0 una una 0 6
0 una una una 7
una 0 0 0 ocho
una 0 0 una 9

BCD también se usa en telefonía. En este caso, además de los dígitos decimales, se codifican los caracteres '*', '#' y algunos otros. Para escribir estos caracteres en código binario-decimal se utilizan combinaciones prohibidas:

Combinaciones adicionales prohibidas
Código decimal binario codigo decimal
una 0 una 0 * (asterisco)
una 0 una una # (signo de Libra)
una una 0 0 + (más)
una una 0 una - (menos)
una una una 0 , (punto decimal)
una una una una Cancelar símbolo

Ventajas y desventajas

Beneficios

Por estas razones, el formato BCD se usa en calculadoras  : una calculadora en las operaciones aritméticas más simples debe mostrar exactamente el mismo resultado que una persona calcula en papel.

Desventajas

Por lo tanto, al sumar y restar números en el formato 8421-BCD, se aplican las siguientes reglas:

  1. Al sumar números BCD, cada vez que se transfiere un bit al nibble alto, es necesario agregar el valor de corrección 0110 al nibble desde el que se produjo la transferencia (= 6 10 = 16 10  - 10 10 : la diferencia en el número de combinaciones de nibble y los valores utilizados).
  2. Al sumar números binario-decimales, cada vez que se encuentre una combinación no válida para un nibble (un número superior a 9), es necesario sumar el valor de corrección 0110 a cada combinación no válida con la transferencia permitida en los nibbles superiores.
  3. Al restar números BCD, por cada nibble que haya recibido un préstamo del nibble alto, se debe hacer una corrección restando el valor 0110.

Un ejemplo de una operación de suma binario-decimal:

Requerido: Encuentra el número A = D + C, donde D = 3927, C = 4856

Solución: Representamos los números D y C en BCD:
D = 3927 10 = 0011 1001 0010 0111 BCD
C = 4856 10 = 0100 1000 0101 0110 BCD

Sumamos los números D y C según las reglas de la aritmética binaria:

* ** 0011 1001 0010 0111 + 0100 1000 0101 0110 ___________________ = 1000 0001 0111 1101 - Suma binaria + 0110 0110 - Corrección ___________________ 1000 0111 1000 0011

'*' — tétrada desde la cual hubo una transferencia a la tétrada senior

'**' - tétrada con combinación prohibida de bits

A la tétrada marcada con el símbolo * le sumamos un seis, ya que, según las reglas de la aritmética binaria, la transferencia se llevó consigo 16, y según las reglas de la aritmética decimal, debió llevarse 10. bit 1101 (correspondiente al decimal 13) es ilegal.

Otros sistemas de codificación

En el sistema de codificación 2 de 5 , un dígito decimal se codifica con 5 bits, de los cuales 2 bits se establecen en 1 y 3 bits en 0, lo que da exactamente 10 combinaciones. Tal sistema proporciona una mejor detección de errores, ya que cambiar un bit siempre dará como resultado una combinación inválida; también siempre se detectan cambios unidireccionales (múltiples cambios 0→1 o 1→0). La codificación "2 de 5" se utilizó en las computadoras de las series IBM 7070 , IBM 7072 e IBM 7074 ; también se usa en algunos países para marcar el correo con un código de barras .

Los números decimales compactos permiten colocar 3 dígitos decimales en 10 bits (2 10 = 1024 combinaciones, que es suficiente para 3 dígitos decimales), y la codificación está diseñada para que la conversión entre un código de 10 bits y tres separados Los dígitos decimales se pueden hacer usando un circuito lógico simple y rápido. Esta codificación se utiliza en números decimales de punto flotante como se describe en el estándar IEEE 754-2008 .

Véase también