Vamos a ver tengo una dudilla. Me han mandado hacer un programa que introduzca una cadena de caracteres inferior a 8 caracteres e imprima en pantalla su correspondiente valor decimal.
La conversión de binario a decimal ya la tengo hecha y esta bien, el problema es
ke a la hora de mostrar por pantalla el valor decimal por pantalla (para ello necesito saber el código ascii del nº decimal, yo lo que hago es sumarle 30h o 48 en decimal a la variable en la que almaceno el resultado, de esta manera obtengo el código ascii), me da problemas si el valor decimal es de mas de 1 dígito ya que código ascii hay desde 0 hasta 9 para los numeros.
Ej: si yo meto 01111111b = 127d = 7Fh -----> al sumarle a 127, 48 obtengo 175 entonces por pantalla muestra el código ASCII del 175 = >>, esto me pasa porque el valor de decimal tiene mas de una cifra.
Ej: si yo meto 00000100b = 8d=8h---->al sumarle a 8, 48 obtengo 56 entonces por pantalla muestra el código ASCII del 56 = 8, aki no tengo problemas porque tiene menos de 2 digitos.
Entonces a mi lo que me interesaria seria obtener el BCD del n decimal.
Ej: 127d --En BCD = 0001 0010 0111
De tal manera ke pueda almacenar el 0001 en 1 variable1
De tal manera ke pueda almacenar el 0010 en 1 variable2
De tal manera ke pueda almacenar el 0111 en 1 variable3
De esta manera le podria sumar a cada variable 48 en decimal para obtener el codigo ASCII de cada digito y poder visualizarla. Asias