Tablica usporedbe:
Osnova za usporedbu | Plutati | Dvostruko |
---|---|---|
Preciznost | Pojedinačna preciznost. | Dvostruka preciznost. |
Komadići | 32 bita. | 64 bita. |
bajtova | 4 bajta. | 8 bajtova. |
Približan raspon | 1.4e-045 do 3.4e + 038 | 4.9e-324 do 1.8e + 308 |
Reprezentacija bitova | 1 bita predstavljaju bit signala. 8-bitni predstavljaju eksponent. 23 bita predstavljaju mantisu. | 1 bita predstavljaju bit signala. 11 bita predstavljaju eksponent. 52 bita predstavljaju mantisu. |
Točnost | Manje točan. | Preciznije. |
Definicija plovka
Float tipa podataka jedan je od tipova s pomičnim zarezom. Float tipa podataka ima 32-bitno spremište (koje je jednako 4 bajta) za varijablu float tipa. Vrsta podataka float označava jednu preciznost. Prikaz 32-bitnog u float-u se može objasniti kao 1 bit predstavljen kao znak bit, 8 bitova su predstavljeni kao eksponent, a 23 bita su predstavljeni kao mantisa. Maksimalni raspon tipa plovka je 1.4e-045 do 3.4e + 038. U usporedbi s dvostrukim s pomičnim zarezom, tip plovka je manje točan, a matematički izračun. Razmotrimo plutanje koristeći primjer.
#include #include int main () {float num1 = sqrt (64.23) cout << num1; } // izlaz 8.00060
Kao u gornjem kodu, možete primijetiti da je varijabli float num1 dodijeljena vrijednost koja je po funkciji sqrt (), koja vraća kvadratni korijen vrijednosti koja se prosljeđuje ovoj funkciji. Možete primijetiti da kada je vrijednost u num1 ispisana blizu je o točnoj vrijednosti, ali nije točna. Pogledajmo primjer u nastavku kada se isti program izvodi s dvostrukim tipom podataka.
Definicija dvostrukog
Dvostruka je druga vrsta podatkovnog tipa s pomičnim zarezom. Tip podataka dvostruko ima 64-bitno spremište (koje je jednako 8 bajtova) za varijablu dvostrukog tipa. On određuje dvostruku preciznost jer je njegova veličina samo dvostruka od plutajuće. 64-bitna reprezentacija tipa double može se objasniti kao 1 bit predstavlja znakovni bit, 11 bitova predstavlja eksponent, a preostalih 52 bita predstavlja mantisu. Među float i double najčešće korištene vrste podataka je dvostruko. Tip matrice se koristi tijekom matematičkog izračuna, a kada postoji potreba za savršenom točnošću. Matematičke funkcije sin (), cos () i sqrt () uvijek vraćaju dvostruku vrijednost. Razmotrimo točnost dvostrukog tipa podataka s primjerom.
#include #include int main () {double num1 = sqrt (64.23) cout << num1; } // izlaz 8.0143621
Može se primijetiti da je izlaz dobiven u primjeru, objašnjavajući float, različit od rezultata dobivenog u primjeru, objašnjavajući dvostruko. Dakle, iz toga možemo reći da su rezultati dobiveni iz dvostruke točne u odnosu na float.
Ključne razlike između Float i Double
- Datatype float određuje pojedinačnu preciznost što znači da u usporedbi s dvostrukom ima manju točnost, dok dvostruka određuje dvostruku preciznost jer je samo dvostruka od float-a njena pogreška je zanemariva u usporedbi s float-om.
- Varijabla tipa float ima pohranu od 32 bita, dok varijabla dvostrukog tipa ima pohranu od 64 bita koja kompilira da je dvostruko veće u pohrani u odnosu na float.
- Vrijednost u float-u može biti u rasponu od 1.4e-045 do 3.4e + 038, dok vrijednost tipa double može biti u rasponu od 4.9e-324 do 1.8e + 308.
- Prikaz bitova vrijednosti s plovkom podsjeća na to da se 1 bit plutajuće koristi za bit bitova, 8 bitova za eksponent i 23 bita za pohranjivanje mantise. S druge strane, dvostruka vrijednost podsjeća na to da se 1 bit koristi za bit bit, 11 bita za eksponent i 52 bita za pohranjivanje mantise.
- U usporedbi s dvostrukim plutačem manje je točna, dok se matematički izračun koristi dvostruko.
Zaključak:
Pa, općenito morate koristiti dupli jer pruža točnost koja je naš glavni moto većinu vremena.