Skip to main content

Hva er et aritmetisk overløp?

Et aritmetisk overløp er en tilstand som oppstår i datamaskiner, spesielt innen dataprogrammering, når en beregning eller operasjon gir et resultat som er for stort for lagringssystemet eller registrerer deg å håndtere.Overflow kan også referere til beløpet med det gitte resultatet overstiger minnet som er utpekt for lagring.I noen tilfeller kan overløpet av data lagres på et annet datalagringssted;I andre kan det føre til at et program krasjer, løper sakte eller gir unøyaktige resultater.Aritmetisk overløp er ikke begrenset til full personlige eller forretningsmessige datamaskiner, ettersom enkle håndholdte kalkulatorer og kommunikasjonsenheter også har grenser for omfanget av verdiene de kan håndtere.

Programmerere har en tendens til å lære metoder for å håndtere aritmetiske overløpsfeil tidlig i utdanningene sine, somDe har en tendens til å være veldig vanlige programmeringsfeil å motta.Det er mange forskjellige metoder for å overlate aritmetisk overløp.Utformingen av programmet spiller en veldig viktig rolle;Et godt designet program som bruker konsistente og riktige datatyper og lengder, skal ikke oppleve slike feil.Det er ofte lettere for et system å håndtere enkle, små operasjoner enn komplekse operasjoner som involverer store antall og overdreven beregninger.Når det ikke er ekstremt viktig at antallet som returneres er helt nøyaktig, vil det noen ganger være tilstrekkelig å skrive programmet på en slik måte at det varsler brukeren om overløpsfeilen, men returnerer en verdi uansett.Den vanligste måten å håndtere en aritmetisk overløpsfeil er å ignorere den fullstendig.Selv om dette vanligvis er ufarlig, kan det gi feil resultater og kan kompromittere nytten og effektiviteten til programmet.

Ariane 5 Flight 501 illustrerer tydelig farene ved aritmetiske overløpsfeil.Flyturen var den første testkjøringen av det europeiske Ariane 5 -utgifter lanseringssystemet, som gjenbrukte mye av koden fra det gamle Ariane 4 -systemet.Akselerasjonen av Ariane 5 var imidlertid betydelig større enn Ariane 4, og programmeringen var ikke tilstrekkelig til å håndtere de større verdiene som trengs.Som sådan forlot raketten sin tiltenkte flybane 37 sekunder etter lansering og måtte ødelegges.Denne enkle programmeringsfeilen kostet hundrevis av millioner av amerikanske dollar.