Desbordamiento aritmético: características y funcionamiento.
Un desbordamiento aritmético es una condición que ocurre en las computadoras, especialmente en el área de programación de computadoras , cuando un cálculo u operación produce un resultado que es demasiado grande para que el sistema de almacenamiento o el registro lo maneje. El desbordamiento también puede referirse a la cantidad con el resultado dado excede la memoria designada para el almacenamiento. En algunos casos, el desbordamiento de datos puede almacenarse en otra ubicación de almacenamiento de datos ; en otros, puede hacer que un programa se bloquee, se ejecute lentamente o produzca resultados inexactos. El desbordamiento aritmético no se limita a las computadoras personales o comerciales completas, ya que las calculadoras portátiles y los dispositivos de comunicación simples también tienen límites en la magnitud de los valores que pueden manejar.
Científico con vasos de precipitados
Los programadores tienden a aprender métodos para lidiar con errores de desbordamiento aritmético al principio de su educación, ya que tienden a ser errores de programación muy comunes. Hay muchos métodos diferentes para administrar el desbordamiento aritmético. El diseño del programa juega un papel muy importante; un programa bien diseñado que utilice tipos y longitudes de datos consistentes y correctos no debería experimentar tales errores. Si se pone mucho cuidado en verificar el orden de las operaciones y mantener todo consistente, los errores de desbordamiento se pueden evitar por completo.
Otra forma de lidiar con los errores de desbordamiento aritmético es dividir las operaciones en pasos más pequeños. A menudo es más fácil para un sistema manejar operaciones simples y pequeñas que operaciones complejas que involucran números grandes y cálculos excesivos. Cuando no es extremadamente importante que el número devuelto sea completamente exacto, a veces será suficiente escribir el programa de tal manera que notifique al usuario del error de desbordamiento pero devuelva un valor de todos modos. La forma más común de manejar un error de desbordamiento aritmético es ignorarlo por completo. Si bien esto suele ser inofensivo, puede dar resultados incorrectos y comprometer la utilidad y eficiencia del programa.
El vuelo 501 de Ariane 5 ilustra claramente los peligros de los errores de desbordamiento aritmético. El vuelo fue la primera prueba del sistema de lanzamiento desechable europeo Ariane 5, que reutilizó gran parte del código del antiguo sistema Ariane 4. Sin embargo, la aceleración del Ariane 5 fue significativamente mayor que la del Ariane 4, y la programación no fue adecuada para manejar los mayores valores necesarios. Como tal, el cohete abandonó su trayectoria de vuelo prevista 37 segundos después del lanzamiento y tuvo que ser destruido. Este simple error de programación costó cientos de millones de dólares estadounidenses.
Mira estos Artículos