Priporočena, 2024

Izbira Urednika

Razlika med Float in Double

Float in Double sta podatkovni tip v vrsti Floating-point. Številke s plavajočo točko so realna števila, ki imajo v njem delno komponento. Primarna razlika med float in double je v tem, da ima float tip 32-bitno shranjevanje. Po drugi strani ima dvojni tip 64-bitno shrambo. Obstajajo še nekatere razlike med float in double, ki so obravnavane v spodnji tabeli primerjav.

Tabela za primerjavo:

Podlaga za primerjavoFloatDvoposteljna
NatančnostEnotna natančnost.Dvojna natančnost.
Bitov32 bitov.64 bitov.
Bytes4 bajti.8 bajtov.
Približno območje1.4e-045 do 3.4e + 0384.9e-324 do 1.8e + 308
Reprezentacija bitov1 bit predstavlja znakovni bit.
8 bit predstavlja eksponent.
23 bitov predstavljajo mantiso.
1 bit predstavlja znakovni bit.
11 bit predstavlja eksponent.
52 bitov je mantisa.
TočnostManj natančna.Bolj natančno.

Opredelitev plovbe

Podatkovni tip float je ena od vrst s plavajočo točko. Float tipa podatkov ima 32-bitno shrambo (ki je enaka 4 bajtom) za spremenljivko tipa float. Vrsta podatkov float določa eno natančnost. Predstavitev 32-bitnega v float lahko razložimo kot 1 bit predstavljen kot znakski bit, 8 bitov je predstavljenih kot eksponent in 23 bitov so predstavljeni kot mantisa. Maksimalno območje tipa plovca je 1.4e-045 do 3.4e + 038. V primerjavi z dvojnim plavajočim tipom je tip plovila manj natančen, pri matematičnem izračunu. Razumimo plavajoče z uporabo primera.

 #include #include int main () {float num1 = sqrt (64.23) cout << num1; } // izhod 8.00060 

Kot v zgornji kodi, lahko opazimo, da je float spremenljivka num1 dodeljena vrednost, ki je s funkcijo sqrt (), ki vrne kvadratni koren vrednosti, ki je posredovana tej funkciji. Opazimo lahko, da je, ko je vrednost v num1 natisnjena, blizu približno točne vrednosti, vendar ni točna. Zdaj bomo videli primer spodaj, ko se isti program izvede z dvojnim tipom podatkov.

Opredelitev dvojne

Double je druga vrsta podatkov s plavajočo vejico. Podatkovni tip double ima 64-bitno shrambo (ki je enaka 8 bajtom) za spremenljivko dvojnega tipa. Določa dvojno natančnost, saj je njena velikost le dvakrat višja od float. 64-bitno predstavitev tipa double je mogoče razložiti, ko 1 bit predstavlja bit znaka, 11 bitov predstavlja eksponent, preostalih 52 bitov pa mantisa. Med float in dvojno najpogosteje uporabljenim tipom podatkov je dvojni. Pri matematičnem izračunu se uporablja tip double in ko je potrebna popolna natančnost. Matematične funkcije sin (), cos () in sqrt () vedno vrnejo dvojno vrednost. Poglejmo natančnost dvojnega tipa podatkov s primerom.

 #include #include int main () {double num1 = sqrt (64.23) cout << num1; } // izhod 8.0143621 

Opazimo lahko, da je rezultat, dobljen v primeru, ki pojasnjuje float, drugačen od izhoda, dobljenega v primeru, ki pojasnjuje dvojno. Tako lahko rečemo, da so rezultati, pridobljeni iz dvojnega, natančnejši v primerjavi s float.

Ključne razlike med Float in Double

  1. Datatype float določa enojno natančnost, kar pomeni, da ima v primerjavi z dvojno manjšo natančnost, medtem ko dvojna natančnost določa dvojno natančnost, saj je le dvakrat višja od float, njena napaka je zanemarljiva v primerjavi s float.
  2. Spremenljivka tipa float ima shranjeno 32 bitov, medtem ko ima spremenljivka dvojnega tipa shrambo 64 bitov, ki združuje dvojno vrednost v pomnilniku v primerjavi s float.
  3. Vrednost v float se lahko giblje od 1.4e-045 do 3.4e + 038, medtem ko se lahko vrednost tipa double giblje od 4.9e-324 do 1.8e + 308.
  4. Predstavitev plavajoče vrednosti bitov je podobna tisti, ki se uporablja za bit, in sicer 8 bitov za eksponent in 23 bitov za shranjevanje mantise. Po drugi strani pa dvojna vrednost spominja na to, da je 1-bitni del uporabljen za bitno količino, 11-bitni za eksponent in 52-bitni za shranjevanje mantise.
  5. V primerjavi z dvojnim plovcem je manj natančno, zato se uporablja matematični izračun.

Sklep:

No, morate na splošno uporabljati dvojno, saj zagotavlja natančnost, ki je naš glavni moto večino časa.

Top