Ich habe an vielen Stellen gelesen, dass Integerüberlauf in C wohldefiniert ist, anders als das signierte Gegenstück.Frage über C-Verhalten für vorzeichenlosen Integer-Unterlauf
Ist der Unterlauf gleich?
Zum Beispiel:
unsigned int x = -1; // Does x == UINT_MAX?
Dank.
Ich kann mich nicht erinnern wo, aber ich habe irgendwo gelesen, dass Arithmetik auf vorzeichenlosen Integraltypen modular ist, wenn das der Fall wäre, dann -1 == UINT_MAX mod (UINT_MAX + 1).
Ich glaube, dass der Begriff "Unterlauf" nur wirklich auf Gleitkommazahlen anwendbar ist, wo Sie einige Zahlen nicht sehr nahe bei Null darstellen können. Ganze Zahlen hätten dieses Problem nicht. – WildCrustacean
@bde Ich stimme zu, dass es sich um eine technisch korrekte Aussage handelt, aber der Begriff ist oft wegen Verletzung der Randbedingung am unteren Ende eines Zahlensystems überladen. – vicatcu