Siirry sisältöön

C/Standardikirjastot/float.h

Wikikirjastosta
#include <float.h>

Tämä tiedosto määrittelee makroja, jotka liittyvät liukulukutyyppeihin.

Nimi C-standardin vaatimus Selite
FLT_RADIX ≥ 2 Liukulukujen kantaluku. Nykyjärjestelmissä käytännössä aina 2.
FLT_MANT_DIG Mantissan numeroiden määrä kantaluvulla FLT_RADIX tietotyypillä float (FLT_), double (DBL_) tai long double (LDBL_).
DBL_MANT_DIG
LDBL_MANT_DIG
FLT_DIG ≥ 6 Montako desimaalinumeroa mahtuu tarkasti tietotyyppiin float (FLT_), double (DBL_) tai long double (LDBL_).
Tarkalleen ottaen silloin, kun luvun kokonaisosa on ±1.
DBL_DIG ≥ 10
LDBL_DIG ≥ 10
FLT_MIN_EXP Pienin eksponentti kantaluvulla FLT_RADIX, jonka esittämät luvut ovat vielä äärellisiä, tietotyypillä float (FLT_), double (DBL_) tai long double (LDBL_).
DBL_MIN_EXP
LDBL_MIN_EXP
FLT_MIN_10_EXP ≤ –37 Se kymmenkantainen eksponentti, joka on pienimmällä positiivisella normaaliluvulla, jonka voi esittää tietotyyppi float (FLT_), double (DBL_) tai long double (LDBL_).
DBL_MIN_10_EXP ≤ –37
LDBL_MIN_10_EXP ≤ –37
FLT_MAX_EXP Suurin eksponentti kantaluvulla FLT_RADIX, jonka esittämät luvut ovat vielä äärellisiä, tietotyypillä float (FLT_), double (DBL_) tai long double (LDBL_).
DBL_MAX_EXP
LDBL_MAX_EXP
FLT_MAX_10_EXP ≥ +37 Se kymmenkantainen eksponentti, joka on suurimmalla äärellisellä luvulla, jonka voi esittää tietotyyppi float (FLT_), double (DBL_) tai long double (LDBL_).
DBL_MAX_10_EXP ≥ +37
LDBL_MAX_10_EXP ≥ +37
FLT_MAX ≥ 1037 Suurin äärellinen luku, jonka voi esittää tietotyyppi float (FLT_), double (DBL_) tai long double (LDBL_).
DBL_MAX ≥ 1037
LDBL_MAX ≥ 1037
FLT_EPSILON ≤ 10–5 Pienimmän yhtä suuremman luvun ja yhden erotus tietotyypillä float (FLT_), double (DBL_) tai long double (LDBL_).
DBL_EPSILON ≤ 10–9
LDBL_EPSILON ≤ 10–9
FLT_MIN ≤ –1037 Pienin äärellinen luku, jonka voi esittää tietotyyppi float (FLT_), double (DBL_) tai long double (LDBL_).
DBL_MAX ≤ –1037
LDBL_MAX ≤ –1037
FLT_ROUNDS Joko -1, 0, 1, 2 tai 3 Ilmaisee liukulukujen pyöristyssäännöt, jos arvoa ei voi esittää tarkasti.
  • 0 jos liukuluvut pyöristetään nollaa kohti
  • 1 jos liukuluvut pyöristetään lähintä lukua kohti
  • 2 jos liukuluvut pyöristetään ylöspäin (positiivista ääretöntä kohti)
  • 3 jos liukuluvut pyöristetään alaspäin (negatiivista ääretöntä kohti)
  • -1 jos ei määritelty
[C99] FLT_EVAL_METHOD Joko -1, 0, 1 tai 2 Ilmaisee liukulukujen tarkkuuden kesken laskujen.
  • 0 jos liukulukulaskenta tapahtuu käytetyn tyypin tarkkuudella
  • 1 jos liukulukulaskenta float:eilla tapahtuu double:jen tarkkuudella, mutta muuten käytetyn tyypin tarkkuudella
  • 2 jos liukulukulaskenta float:eilla ja double:eilla tapahtuu long double:jen tarkkuudella
  • -1 jos ei määritelty
[C99] DECIMAL_DIG Montako desimaalia säilyy tarkasti, jos luku muunnetaan tekstistä suurimmaksi liukulukutyypiksi ja sitten takaisin

float.h on yksi harvoista otsikkotiedostoista, joka on saatavilla myös ns. irrallisessa (engl. freestanding) ympäristössä. Tämä tarkoittaa sitä, että otsikkotiedoston määritelmät ovat kääntäjän tiedossa heti jo ohjelmaa kääntäessä, eikä se sisällä funktioita tai muuttujia. Irrallisia ympäristöjä ovat sellaiset, joissa ei ole saatavilla suoritettavaa C-standardikirjaston toteutusta.