V Jave, Java.
Existujú dva typy dátových typov s pohyblivou rádovou čiarkou:
- float Typ údajov
- dvojitý typ údajov
Obidve, float aj double predstavujú čísla s pohyblivou rádovou čiarkou, v ktorých sú uložené desiatkové hodnoty.
Typ údajov s pohyblivou rádovou čiarkou | hodnoty | Veľkosť (bity)* | Požiadavka na úložisko (bajty) | Predvolená hodnota | Presnosť | Desatinné číslice | Rozsah | Presnosť |
---|---|---|---|---|---|---|---|---|
plavák | IEEE 754 s pohyblivou desatinnou čiarkou | 32 | 4 | 0,0f | Slobodný | 6 desatinných miest | 3.4e-038 až 3.4e+038 | Nízka |
dvojitý | IEEE 754 s pohyblivou desatinnou čiarkou | 64 | 8 | 0,0 d | Dvojité | 15 desatinných číslic | 1,7e-308 až 1,7e+308 | Vysoká |
* Veľkosť bitov zahŕňa nasledujúce:
Bity | plavák | dvojitý |
---|---|---|
Podpísať | 1 | 1 |
Exponent | 8 | jedenásť |
Mantisa | 23 | 52 |
Single-Precision: Skladá sa to z jeden znamienko bit (S), osem exponent bity (E) a dvadsaťtri bity mantisy (M).
Dvojitá presnosť: Skladá sa to z jeden znamienko bit (S), jedenásť exponent bity (E) a päťdesiat dva bity mantisy (M).
float Typ údajov
Ide o 32-bitové číslo s pohyblivou rádovou čiarkou s jednou presnosťou IEEE 754 (štandard pre aritmetiku s pohyblivou rádovou čiarkou). To znamená, že dáva presnosť 6-7 desatinných miest. Používa sa, ak chceme efektívne využívať pamäť, pretože zaberá menej pamäte v porovnaní s dvojitým typom údajov. Na definovanie floatovej hodnoty musíme použiť príponu f alebo F. Jej predvolená hodnota je 0,0f. V predvolenom nastavení sú čísla s pohyblivou čiarou v jazyku Java považované za dvojité.
Napríklad, ak definujeme číslo s pohyblivou čiarou ako:
float height = 167.7
Vyššie uvedená deklarácia premennej float udáva chybu kompilácie. Chybu môžeme opraviť pridaním prípony f alebo F.
float height = 167.7f or float height = 167.7F
dvojitý typ údajov
Typ údajov double je 64-bitové číslo s pohyblivou rádovou čiarkou IEEE 754 s dvojitou presnosťou. To znamená, že dáva presnosť 15-16 desatinných miest. V porovnaní s dátovým typom float spotrebuje viac pamäte. Používa sa na ukladanie desatinných hodnôt. Jeho predvolená hodnota je 0,0 d. Je voliteľné pridať príponu d alebo D. Napríklad:
double price = 987.90D or double price = 987.90d or double price = 987.90
float vs double Data Type
Typ údajov double je presnejší ako typ údajov float. Nasledujúca tabuľka sumarizuje rozdiely medzi typmi údajov float a double.
Základ | float Typ údajov | dvojitý typ údajov |
---|---|---|
Pamäť | Zaberá 4 bajtov. | Zaberá 8 bajtov. |
Presnosť | Jeho presnosť je nízka . | Jeho presnosť je vysoká . |
Presnosť | Nasleduje to s jednou presnosťou (6-7 desatinných číslic). | Nasleduje to dvojitá presnosť (15-16 desatinných číslic). |
Použité kľúčové slovo | The plavák kľúčové slovo sa používa na definovanie čísla s pohyblivou čiarou. | The dvojitý kľúčové slovo sa používa na definovanie čísla s dvojnásobnou presnosťou. |
Trieda obalov | Jeho obalová trieda je java.lang.Float. | Jeho obalová trieda je java.lang.Double. |
Predvolený typ údajov | Java ho nepoužíva ako predvolené číslo s pohyblivou rádovou čiarkou. | To je predvolená dátový typ pre čísla s pohyblivou rádovou čiarkou. |
Strata dát | Tam bude žiadna strata dát ak prevedieme float na dvojnásobok. | Tam bude strate dát ak prevedieme double na float. |
Využitie | Malo by sa použiť kde menšia presnosť je potrebné a skladovanie je obmedzením. | Používa sa kde väčšiu presnosť vyžaduje a tiež vyžaduje väčšiu presnosť. |
Prípona | Používa sa F alebo f ako prípona. Ak deklarujete premennú typu float, je povinné pridať príponu. | Používa sa d alebo D ako prípona. Ak deklarujete dvojitú premennú, je voliteľné pridať príponu. |
zastupovanie | 28,96f alebo 28,96F | 12.5 alebo 12,5D alebo 12,5 d |
Podobnosti medzi typom údajov float a double
- Reálne čísla môžu byť reprezentované oboma typmi údajov.
- Dátové typy float aj double nie sú presné, preto ide o približnú hodnotu.
Ktorý typ údajov s pohyblivou rádovou čiarkou v jazyku Java by sme mali použiť?
double je presnejší ako float. Takže, ak je potrebný presnejší a presnejší výsledok, použite dvojitý. Ďalším dôvodom na použitie double je, že ak číslo nezodpovedá rozsahu ponúkanému plavákom, použite double. Mali by sme použiť float, ak máme pamäťové obmedzenie, pretože zaberá polovičný priestor ako dvojnásobok.
java n-tice
Odporúčame vám použiť double over float, ak nie je obmedzená pamäť a priestor a ak je potrebná väčšia presnosť. Odporúča sa použiť float, ak je pamäť problém a výsledok v 16 presných desatinných čísliciach sa nevyžaduje.
Nasledujúce dve Java programy jasne ukazujú rozdiely medzi typom údajov 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ýkon:
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ýkon:
x/y = 0.3333333333333333
Z vyššie uvedených dvoch príkladov je jasné, že typ údajov double vyžaduje viac pamäte na uloženie čísla s dvojnásobnou presnosťou a tiež poskytuje presnejší výsledok až do 16 desatinných číslic. Zatiaľ čo dátový typ float zaberá menej miesta na ukladanie čísel s jednou presnosťou a poskytuje výsledky až na 6 desatinných miest.