V Javi, Javi.
np.log
Obstajata dve vrsti podatkovnih tipov s plavajočo vejico:
- Vrsta podatkov float
- dvojni podatkovni tip
Oba, float in double predstavljata števila s plavajočo vejico, ki shranjujejo decimalne vrednosti.
Vrsta podatkov s plavajočo vejico | Vrednote | Velikost (biti)* | Zahteva za shranjevanje (bajti) | Privzeta vrednost | Natančnost | Decimalne številke | Razpon | Natančnost |
---|---|---|---|---|---|---|---|---|
lebdi | IEEE 754 s plavajočo vejico | 32 | 4 | 0,0f | Samski | 6 decimalnih mest | 3.4e-038 do 3.4e+038 | Nizka |
dvojno | IEEE 754 s plavajočo vejico | 64 | 8 | 0,0d | Dvojno | 15 decimalnih mest | 1.7e-308 do 1.7e+308 | visoko |
*Biti velikosti vključujejo naslednje:
Biti | lebdi | dvojno |
---|---|---|
Podpis | 1 | 1 |
Eksponent | 8 | enajst |
Mantisa | 23 | 52 |
Enotna natančnost: Sestavljen je iz eno bit predznaka (S), osem eksponentni biti (E) in triindvajset nastavki za mantiso (M).
Dvojna natančnost: Sestavljen je iz eno bit predznaka (S), enajst eksponentni biti (E) in 52 nastavki za mantiso (M).
Vrsta podatkov float
To je 32-bitno število s plavajočo vejico z enojno natančnostjo IEEE 754 (Standard za aritmetiko s plavajočo vejico). To pomeni, da daje 6-7 decimalnih mest natančno. Uporabljamo ga, če želimo učinkovito uporabljati pomnilnik, saj zavzame manj pomnilnika v primerjavi z dvojnim podatkovnim tipom. Če želite definirati plavajočo vrednost, moramo uporabiti pripono f ali F. Njena privzeta vrednost je 0,0f. Privzeto se števila s plavajočim delom v Javi obravnavajo kot dvojna.
razvrščanje na seznamu v Javi
Na primer, če definiramo plavajoče število kot:
float height = 167.7
Zgornja deklaracija spremenljivke float povzroči napako prevajanja. Napako lahko popravimo z dodajanjem pripone f ali F.
float height = 167.7f or float height = 167.7F
dvojni podatkovni tip
Dvojni podatkovni tip je 64-bitno število s plavajočo vejico IEEE 754 z dvojno natančnostjo. To pomeni, da daje natančnost 15-16 decimalnih mest. Porabi več pomnilnika v primerjavi s podatkovnim tipom float. Uporablja se za shranjevanje decimalnih vrednosti. Njegova privzeta vrednost je 0,0d. Dodati pripono d ali D ni obvezno. Na primer:
double price = 987.90D or double price = 987.90d or double price = 987.90
float Vs dvojni podatkovni tip
Podatkovni tip dvojni je natančnejši od podatkovnega tipa float. Naslednja tabela povzema razlike med podatkovnimi tipi float in double.
Osnova | Vrsta podatkov float | dvojni podatkovni tip |
---|---|---|
Spomin | Zavzema 4 bajtov. | Zavzema 8 bajtov. |
Natančnost | Njegova natančnost je nizka . | Njegova natančnost je visoka . |
Natančnost | Sledi enojna natančnost (6-7 decimalnih mest). | Sledi dvojna natančnost (15-16 decimalnih mest). |
Uporabljena ključna beseda | The lebdi ključna beseda se uporablja za definiranje števila s plavajočim. | The dvojno ključna beseda se uporablja za definiranje števila z dvojno natančnostjo. |
Ovojni razred | Njegov ovojni razred je java.lang.Float. | Njegov ovojni razred je java.lang.Double. |
Privzeti podatkovni tip | Java ga ne uporablja kot privzeto število s plavajočo vejico. | Je privzeto podatkovni tip za števila s plavajočo vejico. |
Izguba podatkov | Bo brez izgube podatkov če float pretvorimo v double. | Bo izguba podatkov če dvojno pretvorimo v float. |
Uporabe | Uporabljati ga je treba kje manjša natančnost je potrebno in shranjevanje je omejitev. | Uporablja se kjer večja natančnost zahteva in zahteva tudi večjo natančnost. |
Pripona | Uporablja se F oz f kot pripona. Obvezno je dodati pripono, če deklarirate spremenljivko float. | Uporablja se d oz D kot pripona. Če deklarirate dvojno spremenljivko, ni obvezno dodati pripone. |
Zastopanje | 28.96f oz 28,96F | 12.5 oz 12.5D oz 12.5d |
Podobnosti med float in double Data Type
- Realna števila je mogoče predstaviti z obema vrstama podatkov.
- Podatkovni tipi float in double niso natančni, zato so približne vrednosti.
Kateri tip podatkov s plavajočo vejico v Javi naj uporabimo?
dvojno je natančnejše od float. Torej, če je potreben bolj natančen in točen rezultat, uporabite dvojno. Drugi razlog za uporabo dvojne je ta, da če število ne ustreza obsegu, ki ga ponuja lebdeča vrednost, uporabite dvojno. Če imamo omejitev pomnilnika, moramo uporabiti float, ker zasede polovico prostora kot dvakrat.
predmet matrike v Javi
Priporočamo, da uporabite double over float, če ni pomnilniške in prostorske omejitve in ko je potrebna večja natančnost. Priporočljivo je, da uporabite plavajočo vrednost, če je spomin zaskrbljujoč, rezultat v 16 decimalnih cifrah pa ni potreben.
nauči se selena
Naslednja dva Java programi jasno pokažejo razlike med podatkovnim tipom float in 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 } }
Izhod:
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 } }
Izhod:
x/y = 0.3333333333333333
Iz zgornjih dveh primerov je jasno, da dvojni podatkovni tip potrebuje več pomnilnika za shranjevanje števila z dvojno natančnostjo in daje tudi natančnejši rezultat do 16 decimalnih mest. Podatkovni tip float zavzame manj prostora za shranjevanje števil z enojno natančnostjo in daje rezultate do 6 decimalnih mest.