Vad är ett heltal överflöde?

heltalsöverflödet hänvisar till fenomenet som förekommer i vissa datatyper där deras tecken växlar från positiva till negativa, eller vice versa, när de når ändarna på sina tillämpliga intervall. I datorintervall har heltal datatyper cirkulära intervall, och när de når den ena änden av sitt sortiment flyttar de omedelbart till den andra änden av sitt sortiment. Detta kallas också heltalsöverflöde.

Ett signerat heltal kan innehålla ett antal värden från -2 31 till (2 31 ) - 1. Detta heltal kan inte ha ett värde på (-2 31 ) - 1; Snarare är nästa nummer som det ökar till i den andra änden av sitt intervall: (2 31 - 1). Förändringen från negativ till positiv i slutet av sitt intervall är ett exempel på heltalsöverflöd. På samma sätt kan ett heltal inte ha ett värde på 2 31 ; Detta värde skulle istället växla till den andra änden av sitt intervall och bli -2 31 .

Detta överflöde har betydande konsekvenser under programmering. En matris kan bara hAVE så många index i det som heltalstypen tillåter, och negativa index räknas inte. Om en programmerare försöker skapa en matris som är större än heltalstypen tillåter, kan betydande minnesfel uppstå eftersom heltal överflöde skulle resultera i ett negativt index. Detta är särskilt farligt på språk som inte har uttryckliga gränser för matriser, som C ++.

När överflöd av heltal inträffar kan relaterade typer av överflöd som buffertöverflöde, överflöd av hög och överflöd av stapelbuffert uppstå. I alla dessa fall verkar heltalet överflödet för att överväldiga minnesstrukturer med mer data än dessa strukturer kan tänkas hålla. Dessa överflöden, i enkla program, gör inte ofta mycket mer än att orsaka ett ogiltigt läs- eller ogiltigt skrivfel. Manipulation av detta problem av hackare kan dock konstruera minnesfel som kan orsaka allvarligare problem.

i de flesta enkla program, intEger Overflow är inte ett stort problem. Gränserna för heltalstypen är tillräckligt stora för att överflödesproblemet inte spelar in om inte mycket data hanteras på en gång. I vissa fall kan översvämning mildras, som i fallet med ökande räknare, genom att använda en större datatyp med ett större intervall. Den större datatypen kan i teorin så småningom möta samma överflödesproblem, men när datatypsintervallen blir större blir chansen att göra det mindre. Varje heltal datatyps intervall är minst dubbelt så stor som nästa minsta, så det finns gott om utrymme för ytterligare data.

ANDRA SPRÅK

Hjälpte den här artikeln dig? Tack för feedbacken Tack för feedbacken

Hur kan vi hjälpa? Hur kan vi hjälpa?