Hallo, wer kennt sich mit signed, unsigned Datentypen aus? Problem: uint16_t k = 0xFFFF; Die Variable k existiert so und kann nicht verändert werden. Ich möchte jetzt aber ein varible s in folgender Form haben: int16_t s; s=k; und zwar sollte das Ergebnis für s=-1 sein. Wie kann ich die Typenumwandlung am einfachsten bewerkstelligen, damit keine Compilerwarnungen mehr auftreten? Vielen Dank für eure Hilfe, chris
chris schrieb: > Wie kann ich die Typenumwandlung am einfachsten bewerkstelligen, damit > keine Compilerwarnungen mehr auftreten? Mit einem cast kannst du den Compiler immer zwingen irgendetwas als irgendeinen anderen Datentyp aufzufassen. s = (int16_t)k;
Bei diesem Cast habe ich angenommen, das s auf die größte positive Zahl ge"casted" wird, also s=0x7FFF Vielen Dank für Deinen Hinweis, chris
Wie kommt mann denn aus solchen Blödsinn? Nie ein C-Buch gelesen?
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.