Kirjoittaja Aihe: kuinka monta 32bittistä floattia on olemassa?  (Luettu 4610 kertaa)

aapo

  • Käyttäjä
  • Viestejä: 195
    • Profiili
kuinka monta 32bittistä floattia on olemassa?
« : 01.02.08 - klo:08.40 »

Osaisko joku kertoa, kuinka monta 32 bittistä floattia on? Määritelmä löytyy ihan kivasti tiivistettynä vaikka wikipediasta
http://en.wikipedia.org/wiki/IEEE_754

Mutta tosta ei intuitiolla pysty sanomaan kuinka monta floattia on, suuruusluokka nyt varmaankin on jotain 2^32, mutta esim mantissassa piilobitti, niin kasvattaisko se määrän 2^33. Mutta toisaalta kaikki eksponentin arvot 127 menee äärettömän ja NotANumberin esittämiseen.

mgronber

  • Käyttäjä
  • Viestejä: 1458
    • Profiili
Vs: kuinka monta 32bittistä floattia on olemassa?
« Vastaus #1 : 01.02.08 - klo:22.21 »
Osaisko joku kertoa, kuinka monta 32 bittistä floattia on?

Äkkiseltään väittäisin että 2 * (2^8 - 1) * (2^23 - 1) + 1 = 4.278.189.571 ja lisäksi vielä arvot -0 (negatiivinen nolla), ääretön ja NaN.

Jos tuon kaavan tekijät purkaa osiin niin viimeinen "plus yksi" kuvaa (epänegatiivista) nollaa eli lukuja joiden mantissa on nolla (ja merkki nolla). Kaavan koko alkuosa kuvaa kaikkia negatiivisia ja positiivisia lukuja. Kerroin kaksi tulee merkistä (positiiviset ja negatiiviset), eksponentilla on (2^8 - 1) erilaista arvoa (joukosta puuttuva arvo on varattu erikoisarvoille ääretön ja NaN) ja mantissalla on (2^23 - 1) erilaista arvoa (nolla jätetty joukon ulkopuolelle).

Edit: Oikeampi lukumäärä taitaa olla  2 * (2^8 - 1) * 2^23 = 4.278.190.080 ja lisäksi negatiivinen nolla, positiivinen ja negatiivinen ääretön ja NaN.
« Viimeksi muokattu: 01.02.08 - klo:23.51 kirjoittanut mgronber »