O que é um transbordamento aritmético?
Um transbordamento aritmético é uma condição que ocorre em computadores, especialmente na área de programação de computadores, quando um cálculo ou operação produz um resultado muito grande para o sistema de armazenamento ou registro para manipular. O excesso também pode se referir à quantidade com o resultado fornecido excede a memória designada para armazenamento. Em alguns casos, o transbordamento de dados pode ser armazenado em outro local de armazenamento de dados; Em outros, isso pode causar travamento um programa, executar lentamente ou produzir resultados imprecisos. O transbordamento aritmético não se restringe a computadores pessoais ou comerciais completos, pois calculadoras de mão simples e dispositivos de comunicação também têm limites para a magnitude dos valores que eles podem lidar. Existem muitos métodos diferentes para entregar o transbordamento aritmético. O design do programa desempenha uma parte muito importante; umPrograma bem projetado que usa tipos e comprimentos de dados consistentes e corretos não devem experimentar esses erros. Se muito cuidado for colocado em verificar a ordem das operações e manter tudo consistente, erros de transbordamento podem ser evitados completamente.
Outra maneira de lidar com erros de transbordamento 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 envolvendo grandes números e cálculos excessivos. Quando não é extremamente importante que o número retornado seja completamente preciso, às vezes é suficiente escrever o programa de forma que notifique o usuário do erro de transbordamento, mas retorna um valor de qualquer maneira. A maneira mais comum de lidar com um erro de transbordamento aritmético é ignorá -lo completamente. Embora isso geralmente seja inofensivo, pode dar resultados incorretos e pode comprometer a utilidade eeficiência do programa.
Ariane 5 O voo 501 ilustra claramente os perigos dos erros de transbordamento aritmético. O voo foi o primeiro teste do sistema de lançamento gasto 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 da Ariane 4, e a programação não era adequada para lidar com os maiores valores necessários. Como tal, o foguete deixou a trajetória de vôo pretendida 37 segundos após o lançamento e teve que ser destruída. Esse erro de programação simples custou centenas de milhões de dólares americanos.