Tabulka porovnání:
Základ pro porovnání | Plovák | Dvojnásobek |
---|---|---|
Přesnost | Jediná přesnost. | Dvojitá přesnost. |
Bity | 32 bitů. | 64 bitů. |
Bytů | 4 byty . | 8 bytů. |
Přibližný rozsah | 1, 4e-045 až 3, 4e + 038 | 4, 9 e-324 až 1, 8 e + 308 |
Reprezentace bitů | 1 bit představuje signální bit. 8 bitů představuje exponent. 23 bitů představuje mantisu. | 1 bit představuje signální bit. 11 bit představuje exponent. 52 bitů představuje mantisu. |
Přesnost | Méně přesné. | Přesnější. |
Definice plováku
Datový typ plováku je jedním z typů pohyblivých bodů. Datový typ plováku má 32bitové úložiště (což se rovná 4 bajtům) pro proměnnou typu float. Datový typ float určuje jednoduchou přesnost. Reprezentace 32 bitů v plováku může být vysvětlena jako 1 bit je reprezentován jako signální bit, 8 bitů je reprezentováno jako exponent a 23 bitů je reprezentováno jako mantisa. Maximální rozsah plovákového typu je 1, 4e-045 až 3, 4e + 038. Ve srovnání s dvojitým plovoucím plovoucím bodem je plovákový typ při matematickém výpočtu méně přesný. Pojďme pochopit float pomocí příkladu.
#include #include int main () {float num1 = sqrt (64.23) cout << num1; } // výstup 8.00060
Stejně jako ve výše uvedeném kódu můžete pozorovat, že proměnné float num1 je přiřazena hodnota, kterou je funkce sqrt (), která vrací druhou odmocninu hodnoty, která je předána této funkci. Můžete si všimnout, že když je hodnota v num1 vytištěna, je blízko k přesné hodnotě, ale není přesná. Podívejme se nyní na příklad uvedený níže, když je stejný program proveden pomocí dvojité jako datový typ.
Definice dvojité
Dvojitý je druhý typ datového typu s plovoucí desetinnou čárkou. Dvojitý datový typ má 64bitové úložiště (což se rovná 8 bajtům) pro proměnnou dvojitého typu. Určuje dvojnásobnou přesnost, protože jeho velikost je pouze dvojnásobek plováku. 64 bitová reprezentace typu double může být vysvětlena jako 1 bit představuje signální bit, 11 bitů představuje exponent a zbývajících 52 bitů představuje mantisu. Mezi plovoucími a dvojitými nejčastěji používanými datovými typy je dvojitý. Typ dvojitý se používá při matematickém výpočtu, a když je potřeba dokonalá přesnost. Matematické funkce sin (), cos () a sqrt () vždy vrátí dvojnásobnou hodnotu. Pojďme pochopit přesnost datového typu s dvojitým příkladem.
#include #include int main () {double num1 = sqrt (64.23) cout << num1; } // výstup 8.0143621
Můžete si všimnout, že výstup získaný v příkladu, vysvětlující plovák, se liší od výstupu získaného v příkladu, což vysvětluje dvojnásobek. Takže z toho můžeme říci, že výsledky získané z dvojitého jsou přesnější ve srovnání s floatem.
Klíčové rozdíly mezi float a double
- Datový typ plováku specifikuje jednoduchou přesnost, což znamená, že ve srovnání s dvojitou má menší přesnost, zatímco dvojitá specifikuje dvojitou přesnost, protože je to jen dvojnásobek plováku, jehož chyba je zanedbatelná ve srovnání s floatem.
- Proměnná typu float má paměť 32 bitů, zatímco proměnná dvojitého typu má úložiště 64 bitů, které kompilují, že dvojnásobek je větší v úložišti ve srovnání s floatem.
- Hodnota v plováku se může pohybovat od 1, 4e-045 do 3, 4e + 038, zatímco hodnota typu double se může pohybovat od 4, 9e-324 do 1, 8e + 308.
- Reprezentace bitů plovoucí hodnoty se podobá tomu, že pro bit bitů je použit 1 bit plováku, 8 bitů pro exponent a 23 bitů pro uložení mantisy. Na druhé straně, dvojitá hodnota se podobá tomu 1 bit to je užité na zpěvový bit, 11 kousků pro exponent a 52 kousků toho pro ukládání mantissa.
- Při srovnání s dvojitým plovákem je tedy méně přesný, a proto se používá matematický výpočet.
Závěr:
No, musíte obecně použít double, protože poskytuje přesnost, která je naše hlavní moto většinu času.