SDCC und Division

#987869
Lesenswert?

Hallo Leute, ich hab ein ganz profanes Problem mit dem SDCC. Ich habe 
bis jetzt Assembler und manchmal BASCOM zur Programmierung von 8051er 
benutzt und bin was C angeht absoluter newbee. Obwohl ich bereits 
vielgesucht und gelesen habe, konnte ich für folgendes Problem keine 
Lösung finden. Ich hoffe hier kann mir jemand helfen!
Ich möchte eine Integerzahl (oder auch unsigned char) in einen 3 
Stelligen String umwandeln.

Wenn ich folgenden Code kompiliere, macht die Division immer -1

if (zahl<100)
 string{0]=48;
else
 temp = zahl/100; //temp soll der Ganzzahligen Teil des Ergebnisses sein
 zahl = zahl-temp*100; //damit soll der "hunderter anteil" subtrahiert 
werden
 string[0] = 48+temp;
......

Die 48 ist der Lcd Character Code für "0". Ist die "zahl" z.B. 222 
sollte in temp eine zwei stehen und nach der Subtraktion sollte in 
"zahl" 22 stehen.
Aber in temp steht nach der Division offensichtlich -1, da in string[0] 
anschliessend 47 steht obwohl dort eigentlich 50 stehen sollte.

Was mache ich falsch ? Wo ist der Denkfehler?

Danke für Eure Hilfe
Gruss Uli

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren