Hallo uc-Gemeinde, nun bitte nicht lachen :-( ICh weiß, ich sollte mich schämen. Aber ich möchte z.B. gerne von 0x00 - 0XAE rechnen und nen (unsigned cast) davor stellen, dass ich nur nen 52 rausbekomme. :-) Leider bekomme ich gar nix raus. Wie kriege ich den uC dazu das zu rechnen (ohen Zweierkomplement!) gruß aus dem Süden Danke!
0-0xAE ist 0xFF52 (auf einem System mit sizeof(int) == 2). Wo liegt das Problem? Das hat mit Zweierkomplement nichts zu tun, sondern nur damit, dass solche Rechnereien grundsätzlich mindestens in int durchgeführt werden. Und das ist ein ganz einfacher Überlauf. Wenn Dich nur die letzten 8 Bit interessieren, musst Du den Rest wegschmeißen, z.B. indem Du den Wert nach uint8_t konvertierst... Dass gar nichts rauskommt, kann ich nicht ganz nachvollziehen...
Hallo Johannes, du hast so wahrlich recht:-) Danke!! Das nix raus kommt, liegt an dem angeschlossenen Monitor, das versteht ASCII und der Wert liegt ja nicht mehr im ASCII-Character Bereich... Danke!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.