logo

Float proti dvojni Javi

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).

Float proti dvojni Javi

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.