Forum: Compiler & IDEs Frage zur Ausgabe von der Zahl -1


von Bernd T. (Gast)


Lesenswert?

Hallo !
Folgende Sache...
Ich habe einen Wert definiert

int err = -1;

jetzt möchte ich diesen Wert ausgeben bzw. über meine serielle 
Schnittstelle übertragen. Jetzt bekomme ich zur Zeit als Ausgabewert FF 
dargestellt.

Mmmh, wie bekomme ich denn wirklich ne -1 als Ausgabe ?
Vermutlich muss ich zwei Zeichen übertragen, das Minus und die Eins ?
Oder gibt es ne andere Lösung ?

Danke vorab !

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Im Prinzip ist beides richtig;

0xFF ist -1 (sofern der Datentyp int8_t verwendet wird).

Eine Klartextdarstellung besteht, wie Du sehr richtig erkannt hast, aus 
mehreren Zeichen, dem '-' (0x2D) und der '1' (0x31).

Wenn Du tatsächlich einen int auf die serielle Schnittstelle ausgeben 
würdest, würdest Du übrigens 0xFF 0xFF übertragen bekommen, da ein int 
größer ist als ein Byte (sizeof (int) != 1).

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.