Porovnávacia tabuľka:
Základ pre porovnanie | Plavák | dvojitý |
---|---|---|
presnosť | Jednoduchá presnosť. | Dvojitá presnosť. |
bity | 32 bitov. | 64 bitov. |
bajtov | 4 bajty. | 8 bajtov. |
Približný rozsah | 1.4e-045 až 3.4e + 038 | 4.9e-324 až 1.8e + 308 |
Zastúpenie bitov | 1 bit predstavuje bit znamenia. 8 bit predstavuje exponent. 23 bitov predstavuje mantisu. | 1 bit predstavuje bit znamenia. 11 bit reprezentuje exponent. 52 bitov predstavuje mantisu. |
presnosť | Menej presné. | Presnejšie. |
Definícia plaváku
Dátový typ float je jeden z typov s pohyblivou rádovou čiarkou. Typ float dátového typu má 32-bitové ukladanie (ktoré sa rovná 4 bajty) pre premennú typu float. Typ údajov typu float špecifikuje jednu presnosť. Zobrazenie 32 bitov v plaváku možno vysvetliť, pretože 1 bit je reprezentovaný ako znakový bit, 8 bitov je reprezentovaných ako exponent a 23 bitov je reprezentovaných ako mantisa. Maximálny rozsah plavákového typu je 1, 4e-045 až 3, 4e + 038. V porovnaní s typom dvojitého plávajúceho bodu je typ plaváka menej vhodný pri matematickom výpočte. Chápeme plávať pomocou príkladu.
#include #include int hlavná () {float num1 = sqrt (64.23) cout << num1; } // výstup 8.00060
Rovnako ako vo vyššie uvedenom kóde môžete pozorovať, že floatovej premennej num1 je priradená hodnota, ktorá je podľa funkcie sqrt (), ktorá vracia druhú odmocninu hodnoty, ktorá je prenesená na túto funkciu. Môžete si všimnúť, že keď je hodnota v num1 vytlačená, je približne presná hodnota, ale nie je presná. Teraz uvidíme príklad nižšie, keď je rovnaký program vykonaný dvojitým ako dátový typ.
Definícia dvojitého
Dvojitý je druhý typ dátového typu s pohyblivou rádovou čiarkou. Dvojitý dátový typ má 64-bitové ukladanie (ktoré sa rovná 8 bajtov) pre premennú dvojitého typu. Určuje dvojitú presnosť, pretože jeho veľkosť je len dvojnásobkom plováku. 64-bitové zobrazenie dvojitého typu sa dá vysvetliť, pretože 1 bit predstavuje sign bit, 11 bitov predstavuje exponent a zvyšné 52 bitov predstavuje mantisa. Medzi float a double najviac používaný typ dát je dvojitý. Typ dvojitý sa používa počas matematického výpočtu a keď je potrebná dokonalá presnosť. Matematické funkcie sin (), cos () a sqrt () vždy vrátia dvojitú hodnotu. Chápeme presnosť dátového typu s príkladom.
#include #include int main () {dvojité num1 = sqrt (64.23) cout << num1; } // výstup 8.0143621
Môžete si všimnúť, že výstup získaný v tomto príklade vysvetľujúci plavák sa líši od výstupu získaného v príklade, vysvetľujúceho dvojité. Takže z toho môžeme povedať, že výsledky získané z dvojitého sú presnejšie v porovnaní s floatom.
Kľúčové rozdiely medzi float a double
- Datový typ float špecifikuje jednu presnosť, čo znamená, že v porovnaní s dvojnásobkom má nižšiu presnosť, zatiaľ čo dvojitá špecifikuje dvojitú presnosť, pretože je to len dvojnásobok plota, jeho chyba je zanedbateľná v porovnaní s plavákom.
- Premenná typu float má 32 bitov, zatiaľ čo premenná dvojitého typu má pamäť 64 bitov, ktorá kompiluje, že zdvojnásobenie je väčšie v pamäti v porovnaní s floatom.
- Hodnota v plaváku sa môže pohybovať od 1, 4e-045 do 3, 4e + 038, zatiaľ čo hodnota dvojitého typu sa môže pohybovať od 4, 9e-324 do 1, 8e + 308.
- Zobrazenie bitov floatovej hodnoty sa podobá tomu, že 1 bit plaváka sa používa na spájanie bitov, 8 bitov pre exponent a 23 bitov na uloženie mantisy. Na druhej strane dvojnásobná hodnota sa podobá tomu, že 1 bit sa používa na zápisný bit, 11 bitov pre exponent a 52 bitov na uloženie mantisy.
- V porovnaní s dvojitým plavákom je teda menej presná, zatiaľ čo sa používa dvojitý matematický výpočet.
záver:
No, spravidla musíte použiť dvojité, pretože poskytuje presnosť, ktorá je väčšinou naše hlavné moto.