Forum: Compiler & IDEs Große Zahlen auf HD44780 ausgeben


von Lisa (Gast)


Lesenswert?

Hi,

habe folgendes Problem. Bin gerade dabei etwas auf nem LCD mit dem 
Controller HD44780 auszugeben. Funktioniert soweit auch wunder bar.

wenn ich allerdings über 5 Zeichen gehe, zeigt er mir nur kauderwelsch 
an. Z.B. möchte ich 10000 ausgeben, klappt wunderbar. Möchte ich aber 
100000 ausgeben, zeigt er mir -31072 an. Bin echt am verzweifeln.

Weis jemand spontan an was das liegen könnte.

gvlg

von Enn V. (envii)


Lesenswert?

int unsigned signed speichergröße ...

kenne den code nicht würde aber dort suchen wo zahlen übergeben
werden...

von Fabian O. (xfr)


Lesenswert?

Du hast für die Ausgabe eine Funktion benutzt, die einen 16 Bit signed 
int erwartet. Dein Wert 100000 passt aber nicht in 16 Bit. Du brauchst 
also eine Funktion, die einen 32 Bit long int ausgibt, d.h. ltoa() statt 
itoa() bzw. printf("%li", val) statt printf("%i", val).

von Anka (Gast)


Lesenswert?

ihr seit klasse, vielen Danke, jetzt klappts.

Dass das nicht reinpasst, daran hatte ich auch schon gedacht. hab schon 
aus der variable ne long gemacht. Aber natürlich nicht an ltoa gedacht.

gvlg

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.