Forum: Compiler & IDEs cout -- Rückgabewert als Zeichen ?


von Thomas (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich experimentiere gerade mit einem PID Regler.

Den eigentlichen Regler habe ich aus dem µC Programm herausgelöst und 
mache jetzt meine versuche am PC.

Irgendwie verstehe ich >cout< nicht mehr.


Warum wird der Rückgabewert der Funktion COutTest() als Zeichen "." und 
nicht als Zahl "3" representiert ?

Nach diesem Prinzip wird auch die Ausgabe der Reglerfunktion als Zeichen 
ausgegeben,
wobei PIDController.value als Zahl ausgegeben wird.

Rückgabewert und Variable stehen doch für den selben Datentyp ?

von jgdo (Gast)


Lesenswert?

COutTest() gibt einen uint8 also einen char zurück. Chars werden von 
cout auch als solche ausgegeben, und 46 steht nun mal für das Zeichen 
'.'. Siehe ASCII Tabelle. Wenn du da tatsächlich 46 haben willst, muss 
COutTest() einen int/short/long zurückgeben. Oder willst du, dass cout 
<< 'a'; ein "97" ausgibt?

von Thomas (Gast)


Lesenswert?

Jetzt macht das ganze auch wieder Sinn...

Danke !!!

von Vlad T. (vlad_tepesch)


Lesenswert?

besonders lustig wirds, wenn auf einmal statt auf Kommandozeile 
prangender Zahlen nur noch Geräusche aus dem Computer tönen.
Bis man da drauf kommt, dass das uint8_t als Zeichen interpretiert wird 
und auf grund des Wertes nicht dargestellt, sondern in einen Ton (\b) 
umgesetzt wird.

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.