Zwevendekommagetal: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Uwappa (overleg | bijdragen)
→‎Computers: binair toegevoegd, met link
k Dp-linkfix, redactie
Regel 1:
{{Zie artikel|Dit artikel gaat over een gegevenstype,. zieZie [[Wetenschappelijke notatie]] en [[Reëel getal]] voor andere betekenissen.}}
 
Een '''zwevendekommagetal''' of '''drijvendekommagetal''', verouderd ook '''vlottendekommagetal''' (Engels: ''floating-point number'') is een [[gegevenstype]] dat een vaste geheugenruimte beslaat en een grote variëteit aan getallen kan bevatten, van zeer kleine tot zeer grote. Hoewel zwevendekommagetallen strikt genomen [[rationaal getal|rationale getallen]] zijn, worden ze meestal gebruikt als benadering voor [[reëel getal|reële getallen]]. De relatieve nauwkeurigheid waarin getallen door zwevendekommagetallen worden gerepresenteerd, is min of meer gelijk over het gehele bereik. Het is de digitale versie van de [[wetenschappelijke notatie]].
 
== Computers ==
Het gegevenstype dat zwevendekommagetallen voorstelt, wordt [[Binair talstelsel|binair]] opgeslagen in een vast aantal bits. De notatie als zwevendekommagetal maakt het mogelijk getallen van verschillende orden van grootte op te slaan. Niet ieder getal is echter als zodanig representeerbaar, zodat er in bijna alle gevallen een afrondfout is.
 
== Het gegevenstype ==
Regel 92:
</syntaxhighlight>
 
Als de [[absolute waarde]] van het verschillverschil tussen ''foo'' en ''bar'' kleiner is dan een schatting van de maximale fout, zijn ze aan elkaar gelijk. Deze fout, ''epsilon'' (<math>\varepsilon</math>), verschilt per toepassing, aangezien de aard van de toepassing en de berekeningen die deze met zich meebrengt, de ''cumulatieve fout'' bepaalt.
 
Een andere bron voor vreemde resultaten is het aftrekken van twee waarden die bijna aan elkaar gelijk zijn. Aangezien de meer significante cijfers aan elkaar gelijk zijn, blijft in het resultaat een veel geringer aantal, of zelfs helemaal geen, significante cijfers over. Men spreekt in dit geval van een "gedegenereerd getal".
Regel 126:
Voorbeeld: een zwevendekommagetal met vier decimale cijfers (<math>b=10,\ p=4</math> en een exponentbereik van ±4 kan worden gebruikt om 43210, 4,321, of 0,0004321 te representeren, maar heeft niet genoeg nauwkeurigheid om 432,123 en 43212,3 te representeren (wat afgerond zou worden tot 432,1 en 43210). Vanzelfsprekend is in de praktijk het aantal cijfers groter dan vier.
 
Voorts kennen zwevendekommarepresentaties vaak de bijzondere waarden +∞, −∞ (plus en min [[Oneindigheid|oneindig]]) en [[NaN]] (''Not a Number'', geen getal). Oneindigheden worden gebruikt als de resultaten te groot zijn om te worden gerepresenteerd en NaN's geven een ongeoorloofde bewerking aan, of een uitkomst die niet is te representeren als een reëel getal.
 
=== IEEE 754 ===
Regel 145:
:''exponent'' = xxxxxxxxxx<math>_2 - 127_{10}</math>
:''mantisse'' = 1,mmmmmmmmmmmmmmmmmmmmmmm<sub>2</sub>; de 1 voor de komma is de verborgen bit.
De lagergeschrevenlager geschreven getallen 2 en 10 geven aan in welk [[talstelsel]] de waarden zijn genoteerd.
 
Het reële getal heeft de waarde:
Regel 158:
| mantisse > 0; || zoals hierboven beschreven
|-
| Gedenormaliseerde getallen&nbsp;&nbsp; || exponent = 0;
| mantisse > 0; || waarden die te klein zijn voor normalisatie
|-