Vastekommagetal
In de informatica is een vastekommagetal een voorstelling van een getal door een vast aantal cijfers, waarin ook de positie van de decimale komma vastligt. Het vaste aantal cijfers bestaat dus uit een vast aantal cijfers vóór de komma, gebruikelijkerwijze de eerste , en een vast aantal, de rest, , achter de komma. In principe kan op deze manier slechts een aantal in grootte beperkte rationale getallen weergegeven worden. Tegenover vastekommagetallen staan zwevendekommagetallen, die een veel grotere variëteit aan getallen kunnen weergeven.
Vergelijking met zwevendekommagetallenBewerken
RekenwerkBewerken
Door de vaste positie van de decimale komma is rekenwerk met vastekommagetallen aanzienlijk eenvoudiger in vergelijking met zwevendekommagetallen. In een binaire voorstelling met vaste komma kunnen rekenoperaties als vermenigvuldigen en delen uitgevoerd worden met snelle verschuivingsoperaties. Sinds het midden van de jaren 1990 zijn processors echter uitgerust met rekeneenheden voor zwevendekommagetallen, waardoor dit nadeel grotendeels is opgeheven.
Precisie en dynamiekBewerken
Vanwege de exacte weergave is het waardenbereik van een vastekommagetal bij hetzelfde aantal bits kleiner dan het overeenkomstige bereik van zwevendekommagetallen. De precisie van vastekommagetallen ligt echter in het gehele waardenbereik vast, wat bij zwevendekommagetallen niet het geval is. Voor sommige toepassingen is het daarom nodig vastekommagetallen te gebruiken.
VoorbeeldenBewerken
Vastekommagetallen van bits.
n = 4 k = 1 k = 2 bitpatroon binair decimaal binair decimaal 0000 000,0 0,0 00,00 0,00 0001 000,1 0,5 00,01 0,25 0010 001,0 1,0 00,10 0,50 0011 001,1 1,5 00,11 0,75 0100 010,0 2,0 01,00 1,00 0101 010,1 2,5 01,01 1,25 0110 011,0 3,0 01,10 1,50 0111 011,1 3,5 01,11 1,75 1000 100,0 4,0 10,00 2,00 1001 100,1 4,5 10,01 2,25 1010 101,0 5,0 10,10 2,50 1011 101,1 5,5 10,11 2,75 1100 110,0 6,0 11,00 3,00 1101 110,1 6,5 11,01 3,25 1110 111,0 7,0 11,10 3,50 1111 111,1 7,5 11,11 3,75
Merk op dat elk van de genoemde binaire patronen twee verschillende getallen, voorstelt, afhankelijk van de posite van dedecimale komma. Aangezien het aantal decimalen per definitie vastligt, hoeft de komma zelf niet weergegeven te worden.
In de volgende tabel staan nog enkele voorbeelden met bits en bits vóór de komma en achter de komma.
bitpatroon decimaal 00000000 0,0000 00010000 1,000 01010000 10,000 00000001 0,0625 00001010 0,625 00001000 0,500 11111111 15,9375 01111011 7,6875 00001101 0,8125
De getallen voor de komma kan men eenvoudig begrijpen. De decimalen kunnen begrepen worden uit de volgende redenering. Binair is:
- 0000,0001 × 10000 = 1,0000
Decimaal staat hier:
- 0,???? × 16 = 1, dus
- 0,???? = 1/16 = 0,0625.