logo

Float vs Double Java

Java valodā Java.

Ir divu veidu peldošā komata datu veidi:

  • peldošais datu tips
  • dubultā datu tips

Gan peldošais, gan dubultais apzīmē peldošā komata skaitļus, kas glabā decimālvērtības.

nelīdzens punkts
Peldošā komata datu tips Vērtības Izmērs (bitos)* Krātuves prasības (baiti) Noklusējuma vērtība Precizitāte Decimālskaitļi Diapazons Precizitāte
peldēt IEEE 754 peldošā komata 32 4 0.0f Viens 6 cipari aiz komata 3.4e-038 līdz 3.4e+038 Zems
dubultā IEEE 754 peldošā komata 64 8 0,0 d Dubults 15 cipari aiz komata 1.7e-308 līdz 1.7e+308 Augsts

*Izmēru biti ietver šādus:

Bits peldēt dubultā
Pierakstīties 1 1
Eksponents 8 vienpadsmit
Mantisa 23 52

Viena precizitāte: Tas sastāv no viens zīmes bits (S), astoņi eksponenta biti (E) un divdesmit trīs mantisas gabaliņi (M).

Divkārša precizitāte: Tas sastāv no viens zīmes bits (S), vienpadsmit eksponenta biti (E) un piecdesmit divi mantisas gabaliņi (M).

cik pilsētu Amerikas Savienotajās Valstīs
Float vs Double Java

peldošais datu tips

Tas ir 32 bitu vienas precizitātes IEEE 754 (standarts peldošā komata aritmētikai) peldošā komata skaitlis. Tas nozīmē, ka tas nodrošina 6-7 ciparu precizitāti aiz komata. To izmanto, ja vēlamies efektīvi izmantot atmiņu, jo tas aizņem mazāk atmiņas salīdzinājumā ar dubulto datu tipu. Lai definētu peldošo vērtību, mums jāizmanto sufikss f vai F. Tā noklusējuma vērtība ir 0.0f. Pēc noklusējuma peldošie skaitļi Java tiek uzskatīti par dubultiem.

Piemēram, ja mēs definējam peldošo skaitli kā:

 float height = 167.7 

Iepriekš minētā peldošā mainīgā deklarācija sniedz kompilācijas kļūdu. Mēs varam labot kļūdu, pievienojot sufiksu f vai F.

java baitu masīvs uz virkni
 float height = 167.7f or float height = 167.7F 

dubultā datu tips

Dubultais datu tips ir 64 bitu dubultas precizitātes IEEE 754 peldošā komata skaitlis. Tas nozīmē, ka tas nodrošina 15–16 ciparu precizitāti aiz komata. Tas patērē vairāk atmiņas, salīdzinot ar peldošo datu tipu. To izmanto, lai saglabātu decimāldaļas. Tā noklusējuma vērtība ir 0.0d. Nav obligāti jāpievieno sufikss d vai D. Piemēram:

 double price = 987.90D or double price = 987.90d or double price = 987.90 

float vs double Data Type

Dubultais datu tips ir precīzāks nekā peldošais datu tips. Šajā tabulā ir apkopotas atšķirības starp peldošo un dubulto datu veidiem.

Pamats peldošais datu tips dubultā datu tips
Atmiņa Tas aizņem 4 baiti. Tas aizņem 8 baiti.
Precizitāte Tās precizitāte ir zems . Tās precizitāte ir augsts .
Precizitāte Tas seko vienreizēja precizitāte (6–7 cipari aiz komata). Tas seko dubultā precizitāte (15–16 cipari aiz komata).
Izmantotais atslēgvārds The peldēt atslēgvārds tiek izmantots, lai definētu peldošo skaitli. The dubultā atslēgvārds tiek izmantots, lai definētu dubultas precizitātes skaitli.
Iesaiņojuma klase Tā iesaiņojuma klase ir java.lang.Float. Tā iesaiņojuma klase ir java.lang.Double.
Noklusējuma datu tips Java to neizmanto kā noklusējuma peldošā komata skaitli. Tas ir noklusējuma datu tips peldošā komata skaitļiem.
Datu zudums Tur būs nav datu zuduma ja pārvēršam pludiņu par dubulto. Tur būs datu zudums ja pārvēršam dubulto par peldošo.
Lietojumi To vajadzētu lietot, kur mazāka precizitāte ir nepieciešama, un uzglabāšana ir ierobežojums. To lieto, kur lielāka precizitāte ir nepieciešama un arī nepieciešama lielāka precizitāte.
Sufikss Tā izmanto F vai f kā piedēklis. Ja deklarējat peldošo mainīgo, ir obligāti jāpievieno sufikss. Tā izmanto d vai D kā piedēklis. Ja deklarējat dubultu mainīgo, nav obligāti jāpievieno sufikss.
Pārstāvība 28.96f vai 28,96 F 12.5 vai 12.5D vai 12,5 d

Līdzības starp peldošo un dubulto datu tipu

  • Reālos skaitļus var attēlot ar abiem datu veidiem.
  • Gan peldošo, gan dubulto datu tipi nav precīzi, tāpēc tie ir aptuvenas vērtības.

Kuru Java peldošā komata datu tipu mums vajadzētu izmantot?

double ir precīzāks par pludiņu. Tātad, ja nepieciešams precīzāks un precīzāks rezultāts, izmantojiet dubultu. Vēl viens iemesls, lai izmantotu dubulto, ir tas, ka, ja skaitlis neietilpst pludiņa piedāvātajā diapazonā, izmantojiet dubulto. Mums vajadzētu izmantot pludiņu, ja mums ir atmiņas ierobežojumi, jo tas aizņem pusi vietas nekā divreiz.

Ja nav atmiņas un vietas ierobežojumu un ja nepieciešama lielāka precizitāte, mēs iesakām izmantot dubulto pludiņu. Ieteicams izmantot pludiņu, ja ir bažas par atmiņu un rezultāts 16 precizitātes decimālskaitļos nav nepieciešams.

diskrētās matemātikas noliegums

Nākamās divas Java programmas skaidri parāda atšķirības starp peldošo un dubulto datu tipu.

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 } } 

Izvade:

 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 } } 

Izvade:

 x/y = 0.3333333333333333 

Izmantojot divus iepriekš minētos piemērus, ir skaidrs, ka dubultā datu tips aizņem vairāk atmiņas, lai saglabātu dubultas precizitātes skaitli, kā arī nodrošina precīzāku rezultātu līdz 16 cipariem aiz komata. Lai gan peldošais datu tips aizņem mazāk vietas, lai saglabātu vienas precizitātes skaitļus, un tas sniedz rezultātus līdz 6 zīmēm aiz komata.