¡Diseño de circuito para convertir números enteros decimales (BCD) en binarios!
Convertir entero decimal (BCD) a binario:
En matemáticas, todos sabemos que para cualquier número decimal como 5468, su proceso de cálculo se puede convertir a: 5468=5* 1004*106*18, por lo que el algoritmo para convertir código BCD en número binario es:
abcd=a*100b*10c*1d.
Este algoritmo es el algoritmo más común y requiere el uso de multiplicadores y sumadores. Este método de implementación consume más recursos. El hermano Mengyi presentará un algoritmo a continuación. Este algoritmo requiere que se utilicen sumas y desplazamientos. función de convertir BCD a números binarios, ahorrando así recursos lógicos tanto como sea posible.
Desplazar un código binario hacia la izquierda un bit es igual al código binario que no se desplaza hacia la izquierda*2. Por ejemplo, hay un código binario de 101001, que es igual a 41 cuando. convertido a decimal. El desplazamiento uno hacia la izquierda es 1010010, que es igual a 82 cuando se convierte a decimal.
Es decir, desplazar el código binario hacia la izquierda 1 bit más desplazarlo hacia la izquierda 3 bits puede equivaler a multiplicar el código binario por 10.
Usa un ejemplo para analizar: el número decimal 29;
Usa el código BCD para expresar: el número decimal en el lugar de las decenas es 2 == el código BCD se expresa como 0010; el número decimal en el lugar de las unidades es 9 ===El código BCD se expresa como 1001, por lo que en general, el número decimal 29 se expresa en código BCD como: 00101001.
Proceso de conversión: Desplace el código BCD 0010 (el número decimal es 2 en el dígito de las decenas) hacia la derecha 4 dígitos (en realidad significa tratarlo como un solo dígito o un valor simple), y luego multiplique por 10 para restablecer el peso decimal (porque este número originalmente representa el décimo dígito del número decimal). Después de procesar los números del dígito de las decenas, procese los números del dígito de las unidades.
Debido a que el peso del código BCD es el mismo que el peso de los primeros cuatro dígitos del binario (2^n, n es el número de dígitos), simplemente agréguelo al número del código anterior. diez dígitos.
Análisis simple: 0010 (representado por el código 2BCD en el dígito de las decenas) × 10 + 1001 (representado por el código 9BCD en el dígito de las unidades) = número binario de 29
Representación del código C : #definir BCD_TO_BIN(val) ((((val) gt;gt; 4) * 10) ? ((val)amp; 15)).
Información ampliada:
El código BCD utiliza números binarios de 4 dígitos (el peso de cada bit es: 8421, por eso se llama código 8421) para representar un número decimal.
El número decimal aquí necesita una explicación especial. Un número decimal sólo puede ser un valor entre 0 y 9. Por ejemplo: 6 representa un número decimal 6; 66 representa un número decimal de dos dígitos; 666 representa un número decimal de tres dígitos.
La forma de codificación del código BCD utiliza cuatro bits para almacenar un número decimal, lo que permite realizar rápidamente la conversión entre binario y decimal. Esta técnica de codificación se utiliza más comúnmente en el diseño de sistemas contables, porque los sistemas contables a menudo requieren cálculos precisos de largas cadenas de números.
En comparación con el método general de notación de punto flotante, el código BCD no solo puede preservar la precisión del valor numérico, sino también ahorrar el tiempo dedicado a la computadora para realizar operaciones de punto flotante. Además, la codificación BCD también se utiliza habitualmente para otros cálculos que requieren alta precisión.
Material de referencia: Enciclopedia Baidu-código BCD