Was ist die richtige Methode zum Iterieren über einen Vektor in C ++? Betrachten Sie diese beiden Codefragmente, dieses funktioniert gut: for (unsigned i=0; i < polygon.size(); i++) { sum += polygon[i]; } und das hier: for (int i=0; i < polygon.size(); i++) { sum += polygon[i]; } was erzeugt …
Bin ich richtig zu sagen, dass der Unterschied zwischen einer vorzeichenbehafteten und einer vorzeichenlosen Ganzzahl ist: Unsigned kann einen größeren positiven Wert und keinen negativen Wert enthalten. Unsigned verwendet das führende Bit als Teil des Werts, während die signierte Version das Bit ganz links verwendet, um festzustellen, ob die Zahl …
Ich habe unten ein einfaches Programm: #include <stdio.h> #define INT32_MIN (-0x80000000) int main(void) { long long bal = 0; if(bal < INT32_MIN ) { printf("Failed!!!"); } else { printf("Success!!!"); } return 0; } Die Bedingung if(bal < INT32_MIN )ist immer wahr. Wie ist es möglich? Es funktioniert gut, wenn ich …
In dem Buch "Complete Reference of C" wird erwähnt, dass chares standardmäßig nicht signiert ist. Ich versuche dies jedoch sowohl mit GCC als auch mit Visual Studio zu überprüfen. Es wird standardmäßig als signiert angenommen . Welches ist korrekt?
Wird dieser Code immer als falsch ausgewertet? Beide Variablen sind Zweierkomplement-Ints. ~x + ~y == ~(x + y) Ich denke, es sollte eine Nummer geben, die die Bedingungen erfüllt. Ich habe versucht , die Zahlen zwischen Prüfung -5000und 5000doch nie erreicht Gleichheit. Gibt es eine Möglichkeit, eine Gleichung aufzustellen, um …
Ich möchte eine Hex-Zeichenfolge in eine 32-Bit-Ganzzahl mit Vorzeichen in C ++ konvertieren. So habe ich zum Beispiel die Hex-Zeichenfolge "fffefffe". Die binäre Darstellung hierfür lautet 111111111111111011111111111110. Die vorzeichenbehaftete Ganzzahldarstellung hierfür lautet: -65538. Wie mache ich diese Konvertierung in C ++? Dies muss auch für nicht negative Zahlen funktionieren. Zum …
C ++ 20 führte die std::ssize()freie Funktion wie folgt ein: template <class C> constexpr auto ssize(const C& c) -> std::common_type_t<std::ptrdiff_t, std::make_signed_t<decltype(c.size())>>; Eine mögliche Implementierung scheint zu verwenden static_cast, um den Rückgabewert der size()Mitgliedsfunktion von cl ass C in sein vorzeichenbehaftetes Gegenstück umzuwandeln . Da die size()Mitgliedsfunktion von C immer nicht …
Ich versuche zu verstehen, warum der folgende Code an der angegebenen Stelle keine Warnung ausgibt. //from limits.h #define UINT_MAX 0xffffffff /* maximum unsigned int value */ #define INT_MAX 2147483647 /* maximum (signed) int value */ /* = 0x7fffffff */ int a = INT_MAX; //_int64 a = INT_MAX; // makes all …
Auf den ersten Blick scheint diese Frage ein Duplikat von Wie erkennt man einen Ganzzahlüberlauf? es ist jedoch tatsächlich deutlich anders. Ich habe festgestellt, dass das Erkennen eines vorzeichenlosen Ganzzahlüberlaufs zwar ziemlich trivial ist, das Erkennen eines vorzeichenbehafteten Überlaufs in C / C ++ jedoch schwieriger ist, als die meisten …
Ich war neugierig zu wissen, was passieren würde, wenn ich einer vorzeichenlosen Variablen einen negativen Wert zuweisen würde. Der Code sieht ungefähr so aus. unsigned int nVal = 0; nVal = -5; Es gab mir keinen Compilerfehler. Als ich das Programm ausführte, nValwurde dem ein seltsamer Wert zugewiesen! Könnte es …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.