Hay muchas preguntas sobre la detección del desbordamiento de enteros ANTES de la suma/sustracción real debido a posible undefined behavior
. Entonces, mi pregunta esDesbordamiento de enteros y comportamiento indefinido
¿Por qué se producirá este undefined behavior
en primer lugar?
I puede pensar en 2 causas:
1) Un procesador que genera una excepción en este caso. Claro, se puede apagar, y lo más probable es que un CRT bien escrito lo haga.
2) Un procesador que utiliza otras representaciones binarias de números (complemento 1? Base 10?). En ese caso, el comportamiento indefinido se manifestará como un resultado diferente (¡pero no se bloqueará!). Bueno, podríamos vivir con eso.
Entonces, ¿por qué alguien debería evitar causarlo? ¿Me estoy perdiendo de algo?
Enlace obligatorio: http://blog.regehr.org/archives/213 –
relacionado: http://stackoverflow.com/questions/18195715/why-is-unsigned-integer-overflow-defined-behavior-but- signed-integer-overflow-es –