Diagramă de comparație:
Bazele comparației | Pluti | Dubla |
---|---|---|
Precizie | Precizie unică. | Precizie dubla. |
biţi | 32 biți. | 64 biți. |
bytes | 4 octeți . | 8 octeți. |
Intervalul aproximativ | 1.4e-045 până la 3.4e + 038 | 4.9e-324 până la 1.8e + 308 |
Reprezentarea biților | 1 biți reprezintă bitul semnelor. 8 biți reprezintă exponentul. 23 biți reprezintă mantisa. | 1 biți reprezintă bitul semnelor. 11 biți reprezintă exponentul. 52 biți reprezintă mantisa. |
Precizie | Mai puțin exactă. | Mai exact. |
Definiția Float
Un float de tip dat este unul dintre tipurile de puncte în flotare. Floatul de tip dat are stocare pe 32 biți (care este egală cu 4 octeți) pentru variabila tip float. Tipul de date float specifică o precizie unică. Reprezentarea a 32 biți în float poate fi explicată deoarece 1 biți este reprezentat ca bit semn, 8 biți sunt reprezentați ca exponenți și 23 biți sunt reprezentați ca mantisa. Intervalul maxim de tip float este de la 1.4e-045 la 3.4e + 038. În comparație cu tipul dublu cu virgulă mobilă, tipul de flotor este mai puțin precis în timp ce calculul matematic. Să înțelegem că plutiți folosind un exemplu.
#include #include int principal () {float num1 = sqrt (64.23) cout << num1; } // output 8.00060
Ca și în codul de mai sus, puteți observa că o variabilă float num1 este atribuită unei valori care este funcția sqrt (), care returnează rădăcina pătrată a valorii care este transmisă acestei funcții. Puteți observa că atunci când valoarea din num1 este tipărită, este aproape de valoarea exactă, dar nu este exactă. Să vedem acum exemplul de mai jos atunci când același program este executat utilizând dublu ca tip de date.
Definiția Double
Dublul este cel de-al doilea tip de tip floating-point. Un tip de date dublu are stocare pe 64 biți (care este egală cu 8 octeți) pentru o variabilă de tip dublu. Specifică dubla precizie, deoarece dimensiunea sa este doar dublă față de plutitor. Reprezentarea de 64 biți a tipului dublu poate fi explicată deoarece 1 biți reprezintă bitul semnelor, 11 biți reprezintă un exponent, iar restul de 52 de biți reprezintă mantisa. Dintre tipurile de date plutitoare și duble, cel mai frecvent utilizat este dublu. Tipul de dublu este utilizat în timpul calculului matematic, și atunci când este nevoie de precizie perfectă. Funcțiile matematice sin (), cos () și sqrt () întoarcă întotdeauna o valoare dublă. Să înțelegem exactitatea tipului de date dublu cu un exemplu.
#include #include int principal () {double num1 = sqrt (64.23) cout << num1; } // output 8.0143621
Puteți observa că ieșirea obținută în exemplul explicativ al plutitorului este diferită de rezultatul obținut în exemplu, explicând dublu. Deci, putem spune că rezultatele obținute prin dublu sunt mai exacte în comparație cu float.
Diferențe cheie între float și dublu
- Tipul de date float specifică o precizie unică, ceea ce înseamnă că, în comparație cu dubla, are o precizie mai mică, în timp ce dublul specifică dubla precizie, deoarece este doar dublu de float, eroarea acestuia fiind neglijabilă în comparație cu float.
- O variabilă de tip float are stocare de 32 de biți, în timp ce o variabilă de tip dublu are stocare de 64 de biți, ceea ce compilează faptul că dublul este mai mare în stocare decât float.
- Valoarea în float poate varia de la 1.4e-045 până la 3.4e + 038, în timp ce valoarea tipului dublu poate varia de la 4.9e-324 la 1.8e + 308.
- Reprezentarea biților unei valori flotante seamănă cu faptul că un bit de float este folosit pentru biți de cântare, cei 8 biți pentru exponent și 23 de biți pentru stocarea mantiselor. Pe de altă parte, o dublă valoare seamănă cu faptul că un bit este folosit pentru biți de cântare, cei 11 biți pentru exponent și 52 de biți pentru a depozita mantisa.
- În comparație cu dublu flotor este mai puțin precis, prin urmare, în timp ce calcul matematic dublu este utilizat.
Concluzie:
Ei bine, trebuie să utilizați în general dublu deoarece oferă precizia care este motto-ul nostru principal de cele mai multe ori.