Hvad er en aritmetisk overløb?

Et aritmetisk overløb er en betingelse, der forekommer i computere, især inden for computerprogrammering, når en beregning eller operation giver et resultat, der er for stort til, at lagersystemet eller registeret kan håndtere. Overløb kan også henvise til den mængde, med det givne resultat overstiger den hukommelse, der er beregnet til opbevaring. I nogle tilfælde kan overløb af data gemmes på et andet datalagringssted; i andre kan det medføre, at et program går ned, kører langsomt eller giver unøjagtige resultater. Aritmetisk overløb er ikke begrænset til fulde personlige computere eller forretningscomputere, da enkle håndholdte regnemaskiner og kommunikationsenheder også har grænser for størrelsen af ​​de værdier, de kan håndtere.

Programmerere har en tendens til at lære metoder til at håndtere aritmetiske oversvømmelsesfejl tidligt i deres uddannelser, da de har en tendens til at være meget almindelige programmeringsfejl at modtage. Der er mange forskellige metoder til håndtering af aritmetisk overløb. Programmets design spiller en meget vigtig rolle; et godt designet program, der bruger konsistente og korrekte datatyper og -længder, bør ikke opleve sådanne fejl. Hvis man lægger stor opmærksomhed på at kontrollere driftsordenen og holde alt sammen konsistent, kan oversvømmelsesfejl helt undgås.

En anden måde at håndtere aritmetiske overløbsfejl på er at nedbryde operationerne i mindre trin. Det er ofte lettere for et system at håndtere enkle, små operationer end komplekse operationer, der involverer stort antal og overdrevne beregninger. Når det ikke er ekstremt vigtigt, at det returnerede nummer er helt nøjagtigt, vil det undertiden være tilstrækkeligt at skrive programmet på en sådan måde, at det giver brugeren besked om overstrømningsfejlen, men returnerer en værdi alligevel. Den mest almindelige måde at håndtere en aritmetisk overløbsfejl på er at ignorere den fuldstændigt. Selvom dette normalt er ufarligt, kan det give forkerte resultater og kan kompromittere programmets anvendelighed og effektivitet.

Ariane 5 flight 501 illustrerer klart farerne ved aritmetiske overløbsfejl. Flyvningen var den første testkørsel af det europæiske Ariane 5-udbringelige lanceringssystem, der genanvendte meget af koden fra det gamle Ariane 4-system. Accelerationen af ​​Ariane 5 var imidlertid væsentligt større end Ariane 4, og programmeringen var ikke tilstrækkelig til at håndtere de større nødvendige værdier. Som sådan forlod raketten sin tilsigtede flyvevej 37 sekunder efter lanceringen og måtte ødelægges. Denne enkle programmeringsfejl koster hundreder af millioner dollars.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?