Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Edited by sciSpider v2.1 (sch jbop) (X_X)@==(Q_Q)@

...

A program that detects an integer overflow to be imminent may do one of two things: (1) signal some sort of error condition, or (2) produce an integer result that is within the range of representable integers on that system. Some situations can be handled by an error condition, where an overflow causes a change in control flow (such as the system complaining about bad input and requesting alternate input from the user). Others are better handled by the latter option, in that it allows the computation to proceed and generate an integer result, thus as a result avoiding a denial-of-service attack. However, when continuing to produce an integer result in the face of overflow, one must consider the question of what integer result to return to the user.

...

Wiki Markup
In modwrap semantics (also called _modulo_ arithmetic), integer values "wrap round."  That is, adding one to {{MAX}} produces {{MIN}}.  This is the defined behavior for unsigned integers in the C Standard \[[ISO/IEC 9899-:1999|AA. C References#ISO/IEC 9899-1999]\] (see Section 6.2.5, "Types," paragraph 9) and is frequently the behavior of signed integers as well.  However, it is more sensible in many applications to use saturation semantics instead of modwrap semantics.  For example, in the computation of a size (using unsigned integers), it is often better for the size to stay at the maximum value in the event of overflow rather than suddenly becoming a very small value.

...