Ein Problem mit Binary zu BCD Umwandlung in C

T

Tulipmania

Guest
Hallo, Ich brauche Hilfe mit diesem Modul. Es ist eine binäre Wert auf seine BCD entspricht die Zuordnung jeder Ziffer ein Element eines Arrays zu konvertieren. Zum Beispiel den Binärwert (11111111 = ff hex) ist gleichbedeutend mit (255) dezimal so die 5-stellige auf das erste Element des Arrays zugeordnet ist ...... zweiten 5 ist auf das nächste Element zugeordnet und 2 zuzuordnen ist die dritte. Das Problem ist, dass das Modul in der Lage, nur die ersten beiden Ziffern weisen ist und wird nie auf die dritte Stelle nach dem dritten Element des Arrays zuweisen. Ich stellte fest, dass während der Simulation des Moduls .. so was falsch ist es? das Programm; # include void main (void) {int x; / / Array Index unsigned int binvalue = 0x00ff; / / Binär-Wert konvertiert und angezeigt werden int INT_DIGITS [3]; / / Deklaration von Array von Ziffern getrennt int * int_ptr / / Array Pointer x = 0; / / Initialisierung der Zeiger auf das erste Element Punkt do {int_ptr = & INT_DIGITS [x]; / / set int_ptr auf indizierte Element in INT_DIGITS * int_ptr = (binvalue% 10) Punkt; / / Die Zuweisung der ASCII-Wert für das Element binvalue = binvalue/10; + + x;} while (binvalue> = 10);}
 
Ihre "do"-Schleife führt zweimal, nicht dreimal. Schauen Sie, was in der "while"-Test passiert.
 

Welcome to EDABoard.com

Sponsor

Back
Top