Forum: Compiler & IDEs Frage zu größe von Variablen


von Jabberwock (Gast)


Lesenswert?

Hallo, ist mir ein bisschen peichlich aber ich stecke hier grade ein 
bisschen fest.

Ich habe einen Zähler uint16_t der soll von 0 bis max 65500 zählen. 
Dafür ist uint16_t doch richtig, oder nicht?

Ich übergebe den Zähler dann per UART an den PC und da kommt ab 32767 
dann als nächstes -32678 was dann nach null gezählt wird.

Kann es an itoa() liegen?

mfg
Jabberwock

von Falk B. (falk)


Lesenswert?

@ Jabberwock (Gast)

>Ich habe einen Zähler uint16_t der soll von 0 bis max 65500 zählen.
>Dafür ist uint16_t doch richtig, oder nicht?

Ja, uint16_t ist ein UNsigned interger mit 16 Bit.

2^16 = 65536, der Wertebereich ist von 0..65535

>Ich übergebe den Zähler dann per UART an den PC und da kommt ab 32767
>dann als nächstes -32678 was dann nach null gezählt wird.

>Kann es an itoa() liegen?

Ja, denn dir Funktion wertet das Argument als SIGNED, also 
vorzeichenbehaftet.

Festkommaarithmetik

MFG
Falk

von Jabberwock (Gast)


Lesenswert?

Dankeschön, hab mir sowas gedach aber wusste es halt nicht.
Nun bin ich schlauer.

mfg
Jabberwock

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.