Suositeltava, 2024

Toimituksen Valinta

Ero kelluvan ja kaksinkertaisen välillä

Float ja Double molemmat ovat Floating-point -tyyppisiä tietotyyppejä. Floating-point-numerot ovat todellisia lukuja, joilla on murto-osa. Pääasiallinen ero kelluvan ja kaksinkertaisen välillä on, että kelluketyypissä on 32-bittinen tallennus. Toisaalta kaksoistyypillä on 64-bittinen tallennus. On olemassa muitakin eroja kelluvan ja kaksinkertaisen välillä, joita käsitellään alla olevassa vertailukaaviossa.

Vertailukaavio:

Vertailun perusteetKelluaKaksinkertainen
TarkkuusYksi tarkkuus.Kaksinkertainen tarkkuus.
bitit32 bittiä.64 bittiä.
tavua4 tavua .8 tavua.
Arvioitu alue1, 4e-045 - 3, 4e + 0384, 9e-324 - 1, 8e + 308
Bittien esitys1 bitti edustaa merkkibittiä.
8-bittinen edustaa eksponenttia.
23 bittiä edustavat mantissaa.
1 bitti edustaa merkkibittiä.
11 bittiä edustaa eksponenttia.
52 bittiä edustavat mantissaa.
tarkkuusVähemmän tarkka.Tarkempi.

Määritelmä Float

Datatyyppi on yksi kelluvan pisteen tyypeistä. Datatyyppisellä floatilla on 32-bittinen tallennus (joka on yhtä kuin 4 tavua) float-tyypin muuttujalle. Data type float määrittää yhden tarkkuuden. 32-bittinen esitys kellukkeessa voidaan selittää, koska 1 bitti on esitetty merkkibittinä, 8 bittiä esitetään eksponenttina, ja 23 bittiä esitetään mantissana. Kelluketyypin enimmäisalue on 1, 4e-045 - 3, 4e + 038. Verrattuna kaksoispisteisiin, kelluva tyyppi on vähemmän tarkka kun matemaattinen laskenta. Ymmärretään float esimerkin avulla.

 #include #include int main () {float num1 = sqrt (64.23) cout << num1; } // lähtö 8.00060 

Kuten yllä olevassa koodissa, voit huomata, että kelluva muuttujalla num1 on määritetty arvo, joka on funktion sqrt () funktio, joka palauttaa sille funktiolle siirrettävän arvon neliöjuuren. Voit havaita, että kun num1: n arvo tulostetaan, se on lähellä tarkkaa arvoa, mutta se ei ole tarkka. Näet nyt alla olevan esimerkin, kun sama ohjelma suoritetaan kaksoissovelluksena datatyypiksi.

Määritelmä Double

Double on toinen liukulukujen tietotyyppi. Datatyypillä on 64-bittinen tallennus (joka on yhtä kuin 8 tavua) kaksoistyyppiselle muuttujalle. Se määrittää kaksinkertaisen tarkkuuden, koska sen koko on vain kaksinkertainen kelluvasta. Tyypin kaksinkertaisen 64 bitin esitys voidaan selittää, koska 1 bitti edustaa merkkibittiä, 11 bittiä edustaa eksponenttia ja loput 52 bittiä edustaa mantissaa. Kellukkeista ja kaksinkertaisimmin käytetystä datatyypistä on kaksinkertainen. Tyyppiä double käytetään matemaattisen laskennan aikana, ja kun on tarvetta täydelliseen tarkkuuteen. Matemaattiset toiminnot sin (), cos () ja sqrt () palauttavat aina kaksinkertaisen arvon. Ymmärretään datatyypin tarkkuus kaksinkertaisena esimerkin kanssa.

 #include #include int main () {double num1 = sqrt (64.23) cout << num1; } // lähtö 8.0143621 

Voit havaita, että esimerkissä saatu float-selitys eroaa esimerkissä saadusta tuotoksesta, selittäen kaksinkertaisen. Niinpä tästä voidaan sanoa, että kaksinkertaiset tulokset ovat tarkempia kuin kelluvuus.

Tärkeimmät erot kellukkeen ja kaksinkertaisen välillä

  1. Datatyyppinen float määrittelee yhden tarkkuuden, mikä tarkoittaa, että verrattuna kaksinkertaiseen on vähemmän tarkkuutta, kun taas kaksinkertainen määrittelee kaksinkertaisen tarkkuuden, koska se on vain kaksinkertainen float-virheen ollessa merkityksetön kelluvaan verrattuna.
  2. Kelluvan tyypin muuttujalla on 32 bitin tallennus, kun taas kaksoistyypin muuttujalla on 64 bitin tallennus, joka kokoaa, että kaksinkertainen on suurempi tallennuksessa verrattuna floatiin.
  3. Kellukannan arvo voi vaihdella välillä 1, 4e-045 - 3, 4e + 038, kun taas tyypin kaksoisarvo voi vaihdella välillä 4, 9e-324 - 1, 8e + 308.
  4. Float-arvon bittien esitys muistuttaa sitä, että 1 bittiä floatia käytetään laulun bitiin, 8 bittiä eksponentille ja 23 bittiä mantissan tallentamiseen. Toisaalta kaksoisarvo muistuttaa sitä, että 1 bittiä käytetään laulun bitiin, 11 bittiä eksponenttiin ja 52 bittiä sen tallentamiseen mantissa.
  5. Verrattuna kaksinkertaiseen kellumaan on näin ollen vähemmän tarkka, kun taas matemaattista laskentaa käytetään kaksinkertaisena.

johtopäätös:

No, sinun on yleensä käytettävä kaksinkertaista, sillä se tarjoaa tarkkuuden, joka on tärkein moto useimmiten.

Top