V Javě, Javě.
Existují dva typy datových typů s plovoucí desetinnou čárkou:
- float datový typ
- dvojitý datový typ
Obě, float i double představují čísla s plovoucí desetinnou čárkou, která ukládají desetinné hodnoty.
nejlepší auta na světě
Typ dat s plovoucí desetinnou čárkou | Hodnoty | Velikost (bity)* | Požadavky na úložiště (bajty) | Výchozí hodnota | Přesnost | Desetinné číslice | Rozsah | Přesnost |
---|---|---|---|---|---|---|---|---|
plovák | IEEE 754 s plovoucí desetinnou čárkou | 32 | 4 | 0,0f | Singl | 6 desetinných číslic | 3.4e-038 až 3.4e+038 | Nízký |
dvojnásobek | IEEE 754 s plovoucí desetinnou čárkou | 64 | 8 | 0,0 d | Dvojnásobek | 15 desetinných číslic | 1,7e-308 až 1,7e+308 | Vysoký |
* Velikost bitů zahrnuje následující:
Bity | plovák | dvojnásobek |
---|---|---|
Podepsat | 1 | 1 |
Exponent | 8 | jedenáct |
Mantisa | 23 | 52 |
Single-Precision: Skládá se z jeden znaménkový bit (S), osm exponent bity (E) a dvacet tři bity mantisy (M).
Dvojitá přesnost: Skládá se z jeden znaménkový bit (S), jedenáct exponent bity (E) a padesát dva bity mantisy (M).
float datový typ
Jedná se o 32bitové číslo s plovoucí desetinnou čárkou s jednoduchou přesností IEEE 754 (Standard for Floating-Point Arithmetic). To znamená, že dává přesnost 6-7 desetinných míst. Používá se, pokud chceme efektivně využít paměť, protože zabírá méně paměti ve srovnání s dvojitým datovým typem. Abychom mohli definovat plovoucí hodnotu, musíme použít příponu f nebo F. Její výchozí hodnota je 0,0f. Ve výchozím nastavení jsou čísla s plovoucí desetinnou čárkou v Javě považována za dvojitá.
Pokud například definujeme plovoucí číslo jako:
float height = 167.7
Výše uvedená deklarace proměnné float udává chybu kompilace. Chybu můžeme opravit přidáním přípony f nebo F.
float height = 167.7f or float height = 167.7F
dvojitý datový typ
Datový typ double je 64bitové číslo s pohyblivou řádovou čárkou IEEE 754 s dvojitou přesností. To znamená, že dává přesnost 15-16 desetinných míst. Spotřebovává více paměti ve srovnání s datovým typem float. Používá se k ukládání desetinných hodnot. Jeho výchozí hodnota je 0,0 d. Je volitelné přidat příponu d nebo D. Například:
double price = 987.90D or double price = 987.90d or double price = 987.90
float vs double datový typ
Datový typ double je přesnější než datový typ float. Následující tabulka shrnuje rozdíly mezi datovými typy float a double.
Základ | float datový typ | dvojitý datový typ |
---|---|---|
Paměť | To zabírá 4 bajtů. | To zabírá 8 bajtů. |
Přesnost | Jeho přesnost je nízký . | Jeho přesnost je vysoký . |
Přesnost | Následuje jediná přesnost (6-7 desetinných číslic). | Následuje dvojitá přesnost (15-16 desetinných číslic). |
Použité klíčové slovo | The plovák klíčové slovo se používá k definování čísla s plovoucí čárkou. | The dvojnásobek klíčové slovo se používá k definování čísla s dvojitou přesností. |
Třída obalů | Jeho obalová třída je java.lang.Float. | Jeho obalová třída je java.lang.Double. |
Výchozí typ dat | Java jej nepoužívá jako výchozí číslo s pohyblivou řádovou čárkou. | to je výchozí datový typ pro čísla s plovoucí desetinnou čárkou. |
Ztráta dat | tam bude žádná ztráta dat převedeme-li float na dvojnásobek. | tam bude ztrátě dat převedeme-li double na float. |
Použití | Mělo by se použít kde menší přesnost je vyžadováno a skladování je omezení. | Používá se kde větší přesnost je vyžadováno a také vyžaduje větší přesnost. |
Přípona | Používá F nebo F jako příponu. Pokud deklarujete proměnnou float, je povinné přidat příponu. | Používá d nebo D jako příponu. Pokud deklarujete dvojitou proměnnou, je volitelné přidat příponu. |
Reprezentace | 28,96f nebo 28,96F | 12.5 nebo 12,5D nebo 12,5 d |
Podobnosti mezi datovým typem float a double
- Reálná čísla mohou být reprezentována oběma datovými typy.
- Datové typy float i double nejsou přesné, a proto se jedná o přibližné hodnoty.
Jaký datový typ s plovoucí desetinnou čárkou v Javě bychom měli použít?
double je přesnější než float. Pokud je tedy požadován přesnější a přesnější výsledek, použijte double. Dalším důvodem pro použití double je, že pokud se číslo nehodí do rozsahu nabízeného plovákem, použijte double. Měli bychom použít float, pokud máme paměťové omezení, protože zabírá poloviční prostor než dvojnásobek.
Doporučujeme vám použít double over float, pokud nemáte paměť a prostorové omezení a pokud je potřeba větší přesnost. Je vhodné použít float, pokud je paměť problém a výsledek v 16 přesných desetinných číslicích není vyžadován.
Následující dva Java programy jasně ukazují rozdíly mezi datovým typem float a double.
FloatDataTypeExample.java
public class FloatDataTypeExample { public static void main(String args[]) { float x = 1.0f, y = 3.0f; //defining x and y as float float z = x / y; //divides x by y and stores the result in the variable z System.out.println('x/y = ' + z); //prints the result } }
Výstup:
latexový seznam
x/y = 0.33333334
DoubleDataTypeExample.java
public class DoubleDataTypeExample { public static void main(String args[]) { double x = 1.0, y = 3.0; //defining x and y as double double z = x / y; //divides x by y and stores the result in the variable z System.out.println('x/y = ' + z); //prints the result } }
Výstup:
x/y = 0.3333333333333333
Z výše uvedených dvou příkladů je zřejmé, že datový typ double zabírá více paměti pro uložení čísla s dvojnásobnou přesností a také poskytuje přesnější výsledek až na 16 desetinných míst. Zatímco datový typ float zabírá méně místa pro uložení čísel s jednou přesností a dává výsledky až na 6 desetinných míst.