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 voor de komma, normaal de eerste , en een vast aantal, de rest, , achter de komma. In principe kan op deze manier maar een aantal in grootte beperkte rationale getallen worden weergegeven. Tegenover vastekommagetallen staan zwevendekommagetallen, die een veel grotere variëteit aan getallen kunnen weergeven.

Kasregisters en mechanische rekenmachines werkten met vastekommagetallen.

Vergelijking met zwevendekommagetallen

bewerken

Rekenwerk

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 met snelle verschuivingsoperaties worden uitgevoerd. Sinds het midden van de jaren 1990 zijn processors met rekeneenheden uitgerust voor zwevendekommagetallen, waardoor dit nadeel grotendeels is opgeheven.

Precisie en dynamiek

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

Vastekommagetallen van   bits. Getallen worden in de computer in het binaire talstelsel vastgelegd.

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 positie van de decimale komma. Aangezien het aantal decimalen per definitie vastligt, hoeft de komma zelf niet te worden weergegeven.

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