Computerarithmetiek

Welk hexadecimaal getal is het bitpatroon (teken, exponent, mantisse) bij omzetting van −6,25 naar enkele precisie?

  1. A0xC0C80000
  2. B0x40C80000
  3. C0xC0A80000
Antwoord en toelichting tonen

Antwoord: A. 0xC0C80000

6,25 is binair 110,01 en genormaliseerd 1,1001 × 2². Het teken is negatief, dus 1; het exponentveld is 2 + 127 = 129 = 1000 0001; de mantisse is het fractionele deel 1001 aangevuld met nullen. Samengevoegd is dit 1 10000001 1001000…0; in groepen van 4 bits 1100 0000 1100 1000 0000 … , oftewel 0xC0C80000. 0x40C80000 heeft tekenbit 0 en stelt +6,25 voor; 0xC0A80000 heeft mantisse 0101 en stelt −5,25 voor.

Bitindeling van een IEEE 754-float met enkele precisie 31 30 23 22 0 s e f Teken Exponent (8 bits) Mantisse (23 bits) 1 bit Bias 127 opgeteld Leidende 1 weggelaten (verborgen bit) Waarde = (−1)^s × 1.f × 2^(e − 127) Vb.: −6.5 = −110.1₂ = −1.101₂ × 2² 1 10000001 10100000000000000000000 Negatief e = 2 + 127 = 129 Fractie „101” aangevuld met nullen Hexadecimaal: 0xC0D00000
Bitindeling van een IEEE 754-float met enkele precisie · Bekijken in het figurenoverzicht
Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Computerarithmetiek

  1. Welke uitspraak is juist over het decimale getal 0,1 weergegeven als binair drijvendekommagetal?
  2. In veel programmeertalen is de vergelijking 0.1 + 0.2 == 0.3 bij dubbele precisie onwaar. Wat is hiervoor de juiste reden?
  3. Wat is de machine-epsilon (het verschil tussen 1 en het eerstvolgende weer te geven getal groter dan 1) bij IEEE 754 met enkele precisie?
  4. Welke combinatie geeft het aantal betrouwbare decimale significante cijfers van drijvendekommagetallen met enkele en dubbele precisie juist weer?
  5. Wat is de juiste rol van gedenormaliseerde getallen (subnormale getallen) in IEEE 754?