Tuve esta extraña experiencia con el problema número 10 en Project Euler (gran sitio por cierto). La tarea era calcular la suma de todos los números primos por debajo de dos millones.Sin excepción de desbordamiento para int en C#?
Usé un int para la suma, y mi algoritmo produjo una respuesta, pero cuando pegué para verificar la respuesta, estaba equivocado.
Resultó que el resultado era demasiado grande para caber en un int, pero ¿no causaría esto un error de desbordamiento o algo así? En cambio, simplemente devolvió un valor muy alejado de la respuesta real.
Cuando cambié el tipo a largo, todo era Hunky Dory.
Está seguro de querer cada operación de número entero para comprobar si hay desbordamiento? –
Bueno, me hubiera ahorrado algo de tiempo en este caso particular;) – erikric
En este caso, sí. La gran mayoría de las operaciones no pueden desbordarse sin embargo. Sería interesante si el compilador pudiera probar esto y deshabilitar la comprobación como resultado, pero dudo mucho que lo haga. – Thorarin