O que é um estouro aritmético?
Um estouro aritmético é uma condição que ocorre em computadores, especialmente na área de programação de computadores, quando um cálculo ou operação gera um resultado muito grande para o sistema ou armazenamento de armazenamento manipular. O excesso também pode se referir à quantidade em que, com o resultado fornecido, excede a memória designada para armazenamento. Em alguns casos, o excesso de dados pode ser armazenado em outro local de armazenamento de dados; em outros, pode causar falha no programa, executar lentamente ou gerar resultados imprecisos. O estouro aritmético não se restringe a computadores pessoais ou comerciais completos, pois calculadoras portáteis simples e dispositivos de comunicação também têm limites para a magnitude dos valores que eles podem manipular.
Os programadores tendem a aprender métodos para lidar com erros de estouro aritmético no início de seus estudos, pois tendem a ser erros de programação muito comuns a serem recebidos. Existem muitos métodos diferentes para lidar com estouro aritmético. O design do programa desempenha um papel muito importante; um programa bem projetado que usa tipos e comprimentos de dados consistentes e corretos não deve apresentar esses erros. Se um grande cuidado for colocado na verificação da ordem das operações e na manutenção de tudo consistente, os erros de transbordamento poderão ser totalmente evitados.
Outra maneira de lidar com erros de estouro aritmético é dividir as operações em etapas menores. Muitas vezes, é mais fácil para um sistema lidar com operações pequenas e simples do que operações complexas que envolvem grandes números e cálculos excessivos. Quando não é extremamente importante que o número retornado seja completamente preciso, às vezes será suficiente gravar o programa de tal maneira que notifique o usuário sobre o erro de estouro, mas retorne um valor de qualquer maneira. A maneira mais comum de lidar com um erro de estouro aritmético é ignorá-lo completamente. Embora isso geralmente seja inofensivo, pode fornecer resultados incorretos e comprometer a utilidade e a eficiência do programa.
O vôo 501 do Ariane 5 ilustra claramente os perigos dos erros de transbordamento aritmético. O vôo foi o primeiro teste do sistema de lançamento descartável europeu Ariane 5, que reutilizou grande parte do código do antigo sistema Ariane 4. A aceleração do Ariane 5 foi, no entanto, significativamente maior que a do Ariane 4, e a programação não foi adequada para lidar com os maiores valores necessários. Como tal, o foguete deixou sua rota de vôo prevista 37 segundos após o lançamento e teve que ser destruído. Este simples erro de programação custa centenas de milhões de dólares americanos.