Skip to main content

Hvad er et aritmetisk overløb?

Et aritmetisk overløb er en tilstand, der forekommer i computere, især inden for computerprogrammering, når en beregning eller drift giver et resultat, der er for stort til lagringssystemet eller tilmelding til at håndtere.Overløb kan også henvise til beløbet med det givne resultat overstiger den hukommelse, der er anført til opbevaring.I nogle tilfælde kan overløbet af data opbevares på en anden placering af datalagring;I andre kan det få et program til at gå ned, køre langsomt eller give unøjagtige resultater.Aritmetisk overløb er ikke begrænset til fuld personlige 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 overløbsfejl tidligt i deres uddannelser, somDe har en tendens til at være meget almindelige programmeringsfejl at modtage.Der er mange forskellige metoder til aflevering af aritmetisk overløb.Programmets design spiller en meget vigtig rolle;Et godt designet program, der bruger ensartede og korrekte datatyper og længder, bør ikke opleve sådanne fejl.Hvis der tages stor omhu i at kontrollere rækkefølgen af operationer og holde alt konsistent, kan overløbsfejl undgås helt.

En anden måde at håndtere aritmetiske overløbsfejl er at nedbryde operationer i mindre trin.Det er ofte lettere for et system at håndtere enkle, små operationer end komplekse operationer, der involverer stort antal og overdreven beregninger.Når det ikke er ekstremt vigtigt, at antallet, der er returneret, er helt nøjagtigt, vil det undertiden være tilstrækkeligt at skrive programmet på en sådan måde, at det meddeler brugeren om overløbsfejlen, men returnerer en værdi under alle omstændigheder.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 nytten og effektiviteten af programmet.

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