Fehler C4309: Verkürzung konstanter Wert
-
Hi Folks,
ich hab da mal ne Frage. Bekomme folgende Compiler-Warnung:
"warning C4309: '=': Verkürzung eines konstanten Wertes"
an dieser Stelle:
char c = 0xF2
Ich seh da grad mal gar kein Problem. Wenn ich es debugge läufts auch. Muss ich mir irgendwelche Gedanken machen? Ich mein, ich würds ja schon gern sauber programmieren
-
char ist wahrscheinlich signed bei dir. Dadurch hast du nur 7 Bit für die Zahlendarstellung (weil eins fürs Vorzeichen draufgeht). Für 0xF2 brauchst du aber 8 Bit. Nimm einen anderen Datentyp, z.B. unsigned char oder int.
-
Ah, danke.
Dachte char wäre automatisch 8 bit und wußte nicht, dass man das explizit angeben muss...
Wieder was gelernt
-
char ist auch auf nem normalen PC automatisch 8 Bit, nur geht halt eins drauf, für das Vorzeichen festzulegen.
PS: Es braucht mir keiner den Standard wegen dem "automatisch" zu zitieren.