Doporučená, 2021

Redakce Choice

Rozdíl mezi floatem a double

Float a Double jsou datové typy typu Floating-point. Čísla s plovoucí čárkou jsou reálná čísla, která mají v sobě zlomkovou složku. Primární rozdíl mezi floatem a double je ten, že typ float má 32-bitové úložiště. Na druhé straně má dvojitý typ 64bitové úložiště. Existují některé další rozdíly mezi floatem a double, které jsou popsány ve srovnávací tabulce uvedené níže.

Tabulka porovnání:

Základ pro porovnáníPlovákDvojnásobek
PřesnostJediná přesnost.Dvojitá přesnost.
Bity32 bitů.64 bitů.
Bytů4 byty .8 bytů.
Přibližný rozsah1, 4e-045 až 3, 4e + 0384, 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řesnostMé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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

Top