Wrap-around-Erklärung für signed und unsigned Variablen in C?

Lese ich ein bisschen in C Spezifikation, dass die vorzeichenlose Variablen( insbesondere unsigned short int) führen Sie eine sogenannte wrap-around - auf integer-überlauf, obwohl ich konnte nicht finden, dass irgendetwas unterschrieben Variablen außer, dass ich Links mit Undefiniertes Verhalten. Mein professor sagte mir Ihre Werte auch erhalten gewickelt.( vielleicht hat er nur gemeint, gcc ) dachte ich die bits einfach abgeschnitten und die Stückchen, die ich verließ mit mir etwas seltsam Wert?! Also, kann mir jemand erklären, was wrap-around ist, und wie ist es anders als nur mit dem abschneiden von bits.

Ihr professor ist falsch, es sei denn, seine Aussage, dass Werte, die wrap-around war qualifiziert, um die spezifischen C-Implementierungen, ggf. mit bestimmten flags in Bezug auf Optimierung oder Semantik.
was meinst du spezielle c-Implementierung und wie ist es im Allgemeinen?
Der C-standard nicht definiert, was passiert, wenn integer-überlauf Auftritt. Jedoch, eine C-Implementierung definieren kann, was passiert. C-Implementierungen zulässig sind, gehen Sie über den C standard. So ist es zum Beispiel möglich, dass der GCC könnte eine Erklärung sagen: "Wenn integer-überlauf tritt auf, und die -fSomething - Schalter verwendet werden, bei der Erstellung, dann das Ergebnis ist verpackt in zwei der Ergänzung." Oder, wenn GCC nicht Zustand, dann Fred Doe können sich aus den GCC-Quellen, ändern Sie Sie wie gewünscht, und stellen Sie ein neues Fred-spezifische version des GCC, der verhält sich in einer bestimmten Art und Weise.

InformationsquelleAutor orustammanapov | 2013-11-07

Schreibe einen Kommentar