IEEE 754
IEEE 754 is een standaard van de IEEE die een manier beschrijft om getallen met zwevende komma voor te stellen in het geheugen van een binaire rekenmachine (computer). Een belangrijke doelstelling van de standaard is om berekeningen waarin dergelijke getallen voorkomen snel te laten verlopen.
Deze standaard moet ondersteund worden door het computersysteem, en niet zozeer door de hardware zelf. De meeste architecturen ondersteunen de IEEE 754-standaard. Er zijn er enkele (oudere) die de standaard niet ondersteunen zoals IBM System/370 en de DEC VAX.
Formaten
bewerkenEr zijn verschillende formaten in de IEEE 754-standaard, waarvan de volgende twee de belangrijkste zijn:
Enkele precisie: 32-bit getal met 1 tekenbit (positief of negatief getal, 0 = positief en 1 = negatief), een exponent van 8 bits (in excess-127) en een mantisse van 23 bits.
- De 8-bit exponenten 00000000 en 11111111 zijn gereserveerd voor speciale gevallen.
Dubbele precisie: 64-bit getal met 1 tekenbit, 11 bit exponent (in excess-1023) en een mantisse van 52 bits.
- De 11-bit exponenten 00000000000 en 11111111111 zijn gereserveerd voor speciale gevallen.
Om een grotere precisie in berekeningen te verkrijgen en fouten die afkomstig zijn door het afronden van getallen te verkleinen, gaat men gebruikmaken van de formaten Single Extended en Double Extended. Deze formaten vergroten de lengte van de exponent en de fractie met een aantal bits. Zo kan het formaat single extended 3 bits aan de exponent en 8 bits aan de fractie toevoegen. Het formaat double extended heeft meestal een 15-bit-exponent en een fractie van 64 bits.
Voorbeelden
bewerkenEnkele voorbeelden van getallen in het standaardformaat IEEE 754 (enkele precisie):
Waarde | Teken | Exponent | Fractie |
---|---|---|---|
+1,625 ⋅ 25 | 0 | 1000 0100 | 101 0000 0000 0000 0000 0000 |
−1,34375 ⋅ 2−126 | 1 | 0000 0001 | 010 1100 0000 0000 0000 0000 |
NaN (Not a Number) | 0 | 1111 1111 | 011 0111 0000 0000 0000 0000 |
+0 | 0 | 0000 0000 | 000 0000 0000 0000 0000 0000 |
Bronnen
bewerkenPrinciples of computer architecture, Miles J. Murdocca, Vincent P. Heuring, New Jersey, 2000, p.45 -48