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 datamaskiner eller forretningsdatamaskiner, ettersom enkle håndholdte kalkulatorer og kommunikasjonsenheter også har grenser for størrelsen på verdiene de kan håndtere.
Programmerere har en tendens til å lære metoder for å håndtere aritmetiske overløpsfeil tidlig i utdanningene sine, ettersom de har en tendens til å være veldig vanlige programming av feil mot motta. Det er mange forskjellige metoder for å overlate aritmetisk overløp. Utformingen av programmet spiller en veldig viktig rolle; enVel designet program som bruker konsistente og riktige datatyper og lengder, skal ikke oppleve slike feil. Hvis stor forsiktighet blir satt i å sjekke rekkefølgen på operasjonen og holde alt konsistent, kan overløpsfeil unngås helt.
En annen måte å håndtere aritmetiske overløpsfeil er å dele opp operasjoner ned i mindre trinn. 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 ogEffektiviteten 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.