Un problema con la conversión de binario a BCD en C

T

Tulipmania

Guest
Hola,
Necesito ayuda con este módulo.Es para convertir un valor binario a su equivalente BCD asignar a cada dígito de un elemento de una matriz.Por ejemplo, el valor binario (11111111 = FF hex) es equivalente a (255) por lo que el decimal de 5 dígitos se le asigna al primer elemento de la matriz ...... 5 segundos se le asigna al siguiente elemento y 2 se asigna a el tercero.el problema es que el módulo es capaz de asignar sólo los dos primeros dígitos y nunca llega a asignar la tercera cifra para el tercer elemento de la matriz.
He observado que, si bien simulando el módulo .. ¿y qué tiene de malo?

el programa;

# include <reg52.h>void main (void)
(
int x; / / Array Índice
binvalue unsigned int = 0x00ff / / Valor binario que desea convertir y muestra
INT_DIGITS int [3]; / / Declaración de la matriz de dígitos separados
int * INT_PTR; / / Array puntero

x = 0; / / Inicializar el puntero para señalar el primer elemento

hacer
(
INT_PTR = & INT_DIGITS [x]; / / Set INT_PTR para apuntar a los elementos indexados en INT_DIGITS
* INT_PTR = (% binvalue 10); / / Asignar el valor ASCII para el elemento
binvalue = binvalue/10;
x;
)
while (binvalue> = 10);
)

 
Su "hacer" bucle se ejecuta dos veces, no tres veces.Mira lo que está sucediendo en la "prueba del tiempo".

 

Welcome to EDABoard.com

Sponsor

Back
Top