O que é um transbordamento inteiro?
O excesso inteiro refere -se ao fenômeno que ocorre em certos tipos de dados do computador em que seus sinais mudam de positivo para negativo ou vice -versa, quando atingem as extremidades de seus intervalos aplicáveis. Nos intervalos de computador, os tipos de dados inteiros têm faixas circulares e, quando atingem uma extremidade de seu alcance, eles imediatamente se movem para o outro extremo de seu alcance. Isso também é chamado de transbordamento inteiro. Em vez disso, o próximo número que ele incrementa está no outro extremo de seu intervalo: (2
Esse estouro tem consequências significativas durante a programação. Uma matriz só podeOs índices são que o tipo inteiro permitir e os índices negativos não contam. Se um programador tentar criar uma matriz maior que o tipo inteiro permitir, erros de memória significativos podem ocorrer porque o excesso de número inteiro resultaria em um índice negativo. Isso é especialmente perigoso em idiomas que não têm limites explícitos para ver matrizes, como C ++.
Quando ocorre excesso inteiro, podem ocorrer tipos de excesso relacionados, como transbordamento de buffer, transbordamento de heap e excesso de buffer de pilha. Em todos esses casos, o transbordamento inteiro atua para sobrecarregar as estruturas de memória com mais dados do que essas estruturas podem ser consideradas. Esses transbordamentos, em programas simples, não costumam fazer muito mais do que causar um erro inválido de leitura ou gravação inválido. A manipulação desse problema por hackers, no entanto, pode projetar erros de memória que podem causar problemas mais sérios.
Na maioria dos programas simples, intEger Overflow não é um grande problema. Os limites do tipo inteiro são suficientemente grandes para que o problema de transbordamento não entre em jogo, a menos que muitos dados estejam sendo tratados de uma só vez. Em alguns casos, o transbordamento pode ser mitigado, como no caso de incrementos de contadores, usando um tipo de dados maior com um intervalo maior. O tipo de dados maior pode, em teoria, encontrar o mesmo problema de transbordamento, mas, à medida que as faixas de tipo de dados aumentam, as chances de fazê -lo diminuem. Cada intervalo de dados de dados inteiro é pelo menos o dobro do tamanho do próximo menor, então há amplo espaço para dados adicionais.