Bitte beachten Sie zunächst, dass C11 3.4.3 wie alle Beispiele und Fußnoten kein normativer Text ist und daher nicht für das Zitieren relevant ist!
Der relevante Text, der besagt, dass der Überlauf von Ganzzahlen und Gleitkommazahlen ein undefiniertes Verhalten ist, lautet wie folgt:
C11 6.5 / 5
Wenn während der Auswertung eines Ausdrucks eine Ausnahmebedingung auftritt (dh wenn das Ergebnis nicht mathematisch definiert ist oder nicht im Bereich der darstellbaren Werte für seinen Typ liegt), ist das Verhalten undefiniert.
Eine Erläuterung zum Verhalten vorzeichenloser Ganzzahltypen finden Sie hier:
C11 6.2.5 / 9
Der Bereich nichtnegativer Werte eines vorzeichenbehafteten Ganzzahltyps ist ein Unterbereich des entsprechenden vorzeichenlosen Ganzzahltyps, und die Darstellung desselben Werts in jedem Typ ist dieselbe. Eine Berechnung mit vorzeichenlosen Operanden kann niemals überlaufen, da ein Ergebnis, das nicht durch den resultierenden vorzeichenlosen Ganzzahltyp dargestellt werden kann, modulo um die Zahl reduziert wird, die eins größer ist als der größte Wert, der durch den resultierenden Typ dargestellt werden kann.
Dies macht vorzeichenlose Ganzzahltypen zu einem Sonderfall.
Beachten Sie auch, dass es eine Ausnahme gibt, wenn ein Typ in einen signierten Typ konvertiert wird und der alte Wert nicht mehr dargestellt werden kann. Das Verhalten ist dann lediglich implementierungsdefiniert, obwohl ein Signal ausgelöst werden kann.
C11 6.3.1.3
6.3.1.3 Ganzzahlen mit und ohne Vorzeichen
Wenn ein Wert mit einem ganzzahligen Typ in einen anderen ganzzahligen Typ als _Bool konvertiert wird und der Wert durch den neuen Typ dargestellt werden kann, bleibt er unverändert.
Wenn der neue Typ nicht signiert ist, wird der Wert konvertiert, indem wiederholt ein Wert mehr als der Maximalwert addiert oder subtrahiert wird, der im neuen Typ dargestellt werden kann, bis der Wert im Bereich des neuen Typs liegt.
Andernfalls wird der neue Typ signiert und der Wert kann nicht darin dargestellt werden. Entweder ist das Ergebnis implementierungsdefiniert oder es wird ein implementierungsdefiniertes Signal ausgelöst.