Ci sono molte domande sul rilevamento dell'overflow dei numeri interi PRIMA dell'effettiva aggiunta/sottostringa a causa del possibile undefined behavior
. Quindi, la mia domanda èOverflow intero e comportamento indefinito
Perché produrrà questo undefined behavior
in primo luogo?
posso pensare 2 cause:
1) Un processore che genera un'eccezione in questo caso. Certo, può essere disattivato e molto probabilmente un CRT ben scritto lo farà.
2) Un processore che utilizza altre rappresentazioni binarie di numeri (1 complemento? Base 10?). In tal caso il comportamento indefinito si manifesterà come risultato diverso (ma non si bloccherà!). Bene, potremmo vivere con quello.
Quindi, perché qualcuno dovrebbe evitare di causarlo? Mi sto perdendo qualcosa?
Link obbligatorio: http://blog.regehr.org/archives/213 –
correlati: http://stackoverflow.com/questions/18195715/why-is-unsigned-integer-overflow-defined-behavior-but- sign-integer-overflow-is –