Skip to main content

Vad är ett aritmetiskt överflöde?

Ett aritmetiskt överflöde är ett tillstånd som förekommer i datorer, särskilt inom området för datorprogrammering, när en beräkning eller operation ger ett resultat som är för stort för lagringssystemet eller registret att hantera.Överflöde kan också hänvisa till beloppet med det givna resultatet överskrider minnet som anges för lagring.I vissa fall kan överflödet av data lagras på en annan datalagringsplats;I andra kan det få ett program att krascha, springa långsamt eller ge felaktiga resultat.Aritmetiskt överflöde är inte begränsat till fullständiga personliga eller affärsdatorer, eftersom enkla handhållna kalkylatorer och kommunikationsenheter också har gränser för storleken på de värden de kan hantera.

Programmerare tenderar att lära sig metoder för att hantera aritmetiska överflödesfel tidigt i sina utbildningar, som som de kan hantera.De tenderar att vara mycket vanliga programmeringsfel att ta emot.Det finns många olika metoder för att lämna aritmetisk överflöde.Utformningen av programmet spelar en mycket viktig del;Ett väl utformat program som använder konsekventa och korrekta datatyper och längder bör inte uppleva sådana fel.Det är ofta lättare för ett system att hantera enkla, små operationer än komplexa operationer som involverar stort antal och överdrivna beräkningar.När det inte är oerhört viktigt att antalet returnerade är helt korrekt kommer det ibland att räcka för att skriva programmet på ett sådant sätt att det meddelar användaren om överflödesfelet men returnerar ett värde ändå.Det vanligaste sättet att hantera ett aritmetiskt överflödesfel är att ignorera det helt.Även om detta vanligtvis är ofarligt, kan det ge felaktiga resultat och kan kompromissa med användbarheten och effektiviteten i programmet.

Ariane 5 Flight 501 illustrerar tydligt farorna med aritmetiska överflödesfel.Flygningen var den första testkörningen av det europeiska Ariane 5 -utgiftssystemet, som återanvände mycket av koden från det gamla Ariane 4 -systemet.Accelerationen av Ariane 5 var emellertid betydligt större än Ariane 4, och programmeringen var inte tillräcklig för att hantera de större värden som behövs.Som sådan lämnade raket sin avsedda flygväg 37 sekunder efter lanseringen och måste förstöras.Detta enkla programmeringsfel kostade hundratals miljoner dollar.