Wat is Vaste komma (fixed-point)?
Methode waarbij de positie van de komma vooraf is vastgelegd en breuken met dezelfde bitreeksen als gehele getallen worden weergegeven. Berekening met gehele-getalcircuits, klein circuit en laag vermogen, maar beperkt bereik. Soms uitgedrukt met het aantal fractiebits, zoals Q15.
Japanse benaming: 固定小数点
“Vaste komma (fixed-point)” komt voor in 3 oefenvragen uit 1 onderwerpen, bijv. Computerarithmetiek.
Vakgebied: Computerarithmetiek
Hoe een vastekommagetal is opgeslagen
Een vastekommagetal (fixed-point) is een gewoon geheel getal waarvan de programmeur afspreekt dat het door een vaste macht van twee wordt gedeeld. Bij 8 bits met 4 fractiebits leest het patroon 0011 1000 als het gehele getal 56, en delen door 2⁴ = 16 geeft 3,5: de bovenste bits vormen het gehele deel en het eerste fractiebit heeft een gewicht van 0,5. De Q-notatie benoemt het formaat: Q15 is een 16-bit getal met teken en 15 fractiebits, dat het bereik van −1 tot net onder +1 dekt met een stapgrootte van 2⁻¹⁵, ongeveer 3,05 × 10⁻⁵. Qm.n geeft het aantal integer- en fractiebits expliciet aan.
Rekenregels
Twee getallen in hetzelfde formaat kun je optellen met een gewone integer-opteller, omdat hun binaire komma's al op één lijn liggen. Bij vermenigvuldigen verdubbelt het aantal fractiebits: twee Q15-waarden geven een 32-bit product met 30 fractiebits, dat 15 posities naar rechts wordt geschoven om terug te komen in Q15, zo nodig met afronding. Overflow is het grootste gevaar. Gewone integer-hardware loopt rond (wrap-around), waardoor een groot positief resultaat negatief wordt; DSP's bieden daarom verzadigende rekenkunde (saturation) die het resultaat begrenst op de grootste representeerbare waarde. In Q15 geeft zelfs −1 × −1 overflow, omdat +1 niet representeerbaar is.
Vaste komma vs. drijvende komma
Vastekommawaarden liggen op gelijke afstanden, zodat de absolute precisie overal gelijk is, maar het bereik is smal. Drijvende komma (floating point) slaat een significand en een exponent op, zodat de afstand verdubbelt telkens als de exponent met één stijgt: in single precision is het verschil tussen buurwaarden ongeveer 1,2 × 10⁻⁷ rond 1, maar 8 rond 100 miljoen. Floating point houdt de relatieve precisie dus ongeveer constant over een enorm bereik. Beide formaten hebben afrondingsfouten; het verschil is dat vaste komma bereik inruilt voor eenvoudige hardware en een voorspelbare, uniforme resolutie.
Veelgestelde vragen
Wat betekent Q15 bij vastekommarekenen?
Q15 is een 16-bit vastekommaformaat met teken, met 15 fractiebits en één tekenbit. Het representeert waarden van −1 tot 1 − 2⁻¹⁵ in stappen van ongeveer 3,05 × 10⁻⁵.
Hoe zet je een vastekommawaarde om naar een decimaal getal?
Lees het bitpatroon als geheel getal en deel door 2 tot de macht van het aantal fractiebits. Zo is 0011 1000 met 4 fractiebits gelijk aan 56 ÷ 16 = 3,5.
Wat is het verschil tussen vaste komma en drijvende komma?
Vaste komma gebruikt een binaire komma op een afgesproken, vaste positie, wat gelijkmatige stappen en eenvoudige integer-hardware oplevert, maar een smal bereik. Drijvende komma voegt een exponent toe, wat een groot bereik met ongeveer constante relatieve precisie geeft, ten koste van complexere hardware.