Un problema con binario a BCD conversione in C

T

Tulipmania

Guest
Salve,
Ho bisogno di aiuto con questo modulo.E 'per convertire un valore binario nel suo equivalente BCD assegnando ogni cifra a un elemento di un array.Ad esempio il valore binario (11111111 = FF hex) è equivalente a (255) decimale così la cifra 5 è assegnato al primo elemento della matrice ...... secondo 5 è assegnato l'elemento successivo e 2 viene assegnato a il terzo.il problema è che il modulo è in grado di assegnare solo le prime due cifre e non viene mai per assegnare la terza cifra per il terzo elemento della matrice.
Ho notato che, mentre simula il modulo .. so what's wrong with it?

il programma;

# include <reg52.h>void main (void)
(
int x; / Array / Index
unsigned int binvalue = 0x00ff; / / valore binario da convertire e visualizzare
INT_DIGITS int [3]; / / Dichiarazione di Array di cifre separate
int * INT_PTR; / Array / Pointer

x = 0; / / Inizializzazione il puntatore a punto il primo elemento

fare
(
INT_PTR = & INT_DIGITS [x]; / / set INT_PTR a punto di elementi indicizzati in INT_DIGITS
* INT_PTR = (% binvalue 10); / / assegnare il valore ASCII per l'elemento
binvalue = binvalue/10;
x;
)
while (binvalue> = 10);
)

 
Il tuo "fare" ciclo viene eseguito due volte, non tre volte.Guardate cosa sta accadendo nel "mentre" test.

 

Welcome to EDABoard.com

Sponsor

Back
Top