Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Liukulukuarvojen Käsittely | Numeeriset Tietotyypit
C++ Tietotyypit

bookLiukulukuarvojen Käsittely

Pyyhkäise näyttääksesi valikon

Luvut eivät rajoitu kokonaislukuihin. On olemassa myös liukulukuja. C++-kielessä käytetään float- ja double-tietotyyppejä niiden tallentamiseen. Tässä luvussa käsitellään float-tietotyyppiä, kun taas seuraavassa käsitellään double-tietotyyppiä ja sen eroja. Alla on esimerkki float-tietotyypin käytöstä:

float.h

float.h

copy
1
float num = 0.45;

Tarkastellaan lyhyesti, miten liukuluvut tallennetaan muistiin.
float-tietotyyppi vie muistissa 4 tavua, kuten myös int. Tällaisen luvun muuntaminen binäärimuotoon on kuitenkin huomattavasti monimutkaisempaa:

Tässä on esimerkki siitä, miten float num = 13.45 tallennettaisiin:

Ei haittaa, vaikka et täysin ymmärtäisi, mitä tässä tapahtuu. Tärkeintä on huomata, että float-tyypin esitys jakautuu kolmeen osaan:

  • Etumerkki-osa esitetään joko plus- (+) tai miinusmerkillä (-). Se ilmaisee, onko luku positiivinen vai negatiivinen;

  • Eksponentti-osa määrittää, minkä suuruisia arvoja voidaan esittää. Mitä suurempi eksponentti, sitä laajempi arvoalue voidaan esittää. float-tietotyypissä eksponentti vie 1 tavun (8 bittiä) muistia;

  • Mantissa-osa määrittää float-tyypin tarkkuuden. Kaikkia lukuja ei voida esittää tarkasti muistissa, ja luvun tarkkuus määräytyy mantissan pituuden mukaan. float-tietotyypissä mantissan pituus on 23 bittiä.

Tämän seurauksena float-tyypillä on 7 desimaalin tarkkuus ja alue 1.2e-38 – 3.4e+38 (koskee sekä negatiivisia että positiivisia lukuja). Useimmiten alue ei ole ongelma, mutta tarkkuus voi joskus olla.

question mark

Mikä on suurin määrä desimaaleja, jonka float voi esittää tarkasti?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 2. Luku 4
some-alt