Die Warnung "Diese Dezimalkonstante ist nicht vorzeichenlos in ISO C90" wird nicht gelöscht
Ich bin mit dem FNV hash als hashing-Algorithmus, der auf meine Hash-Tabelle Umsetzung, aber ich bin immer die Warnung in den Frage-Titel, die auf dieser Linie:
unsigned hash = 2166136261;
Ich verstehe nicht, warum dies geschieht, weil, wenn ich dies tun:
printf("%u\n", UINT_MAX);
printf("2166136261\n");
Bekomme ich diese:
4294967295
2166136261
Das scheint zu sein, unter die Grenzen meiner Maschine...
Warum erhalte ich die warn-und was sind meine Möglichkeiten, um es loszuwerden?
InformationsquelleAutor der Frage Ricardo Amaral | 2010-02-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Benötigen Sie ein suffix
u
zu bedeuten, das ist eine Zahl ohne Vorzeichen. Ohne dieu
suffix-es wird eine Zahl unterzeichnet. Dadiese integer-literal wird es problematisch.
InformationsquelleAutor der Antwort kennytm