? En beregning feil er en feil i driften av et dataprogram der resultatet av en beregning er utenfor de definerte grensene tillatt for ved beregningen . Disse feilene kan bli introdusert av feil i dataprogrammet eller begrensninger i maskinvaren , og er vanligvis funnet ved hjelp av feil - fangst mekanismer som stanse programmets operasjon. Matematiske feil
En matematisk beregning feil oppstår når en matematisk operasjon resultatet ikke kan beregnes av programvaren. Den vanligste av disse er en divisjon med null feil: et tall dividert med null resultater i uendelighet, som vanligvis er en haltende feil i språket som brukes for å skrive programvaren. Divisjon med null feil er lett introdusert da variablene blir brukt i ligninger : det er ikke umiddelbart opplagt at 1 /( cos ( x ) + 1 ) resulterer i en divisjon med null feil når x er lik pi
.
range feil
en rekke feil oppstår når enten et tall er for stor eller liten til å være representert ved dataspråket , eller når en feil - sjekking rutine avgjør at et resultat er nonsens . For eksempel , mange programmeringsspråk har en øvre grense på 2 ^ 32, ved å bruke nummeret 4294967296 eller høyere kan resultere i en representasjon av uendelig eller et negativt tall , som da ville føre meningsløse resultater. God programmering teknikk omfatter utvalg sjekker etter behov: for eksempel kan et hjem termostat registrerer temperaturer mellom 140 og -60 grader Fahrenheit , men vil gå inn feilkorrigering modus hvis det registrert en temperatur på 350 grader Fahrenheit
.
sjekksum feil
sjekksumfeil er relatert til en rekke feil , men er alltid et resultat av programmeringsfeil - fangst . Sjekksummer er raske beregninger som definerer vilkår som må være oppfylt , og oppdage feil i innkommende data når deres resultat er falsk . For eksempel vurdere et lager som teller innkommende elementer som alltid kommer i tilfeller av 108 . Programvaren er fortalt at 42226 gjenstander kom i går . En sjekksum drift legge sifrene sammen ville avgjøre dette er feilaktige data : . 4 + 2 + 2 + 2 + 6 = 16 , men alle multipler av 108 må ha siffer som jevnt legger opp til et multiplum av 9
Korrigering Beregning feil
Quality programvare inneholder alltid feil fangst som forventer potensielle feil og hindrer dem fra å stanse programvare eller produserer meningsløse resultater. For eksempel kan en oversettelse fra desimal til binære tall at noen programmer kan si at kvadratet av kvadratroten av 2 var lik 1,99 , og dette er rettet opp i mange programmeringsspråk , men tyngende på programmereren å være klar over feilkilder som dette , og korrigere dem når de oppstår . For eksempel, hvis en divisjon med null feil er fanget av god programvare , i stedet for å krasje den ville bestemme hvor null innspill oppstod og påpeke dette til brukeren .