Vastekommagetal

Uit Wikipedia, de vrije encyclopedie
Naar navigatie springen Naar zoeken springen

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 zwevendekommagetallen[bewerken | brontekst bewerken]

Rekenwerk[bewerken | brontekst bewerken]

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 dynamiek[bewerken | brontekst bewerken]

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.

Voorbeelden[bewerken | brontekst bewerken]

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.