Különbségek a Java float és dupla között
Az úszó adattípus egy pontosságú 32 bites IEEE 754 lebegőpontos. Az értékek tartománya meghaladja a vita hatókörét, de elsősorban a Java nyelvi specifikáció lebegőpontos típusai, formátumai és értékei szakaszában kerül meghatározásra.
A kettős adattípus egy dupla pontosságú 64 bites IEEE 754 lebegőpontos. Értéktartománya meghaladja a vita hatókörét, de a Java nyelvi specifikáció lebegőpontos típusai, formátumai és értékei szakaszában kerül meghatározásra.
Az úszót elsősorban a memória mentésére használják a lebegőpontos számok nagy tömbjeiben. Mindig emlékeznünk kell arra, hogy az adattípust soha nem szabad pontos értékekhez, például pénznemhez használni.
A kettős adattípus általában a tizedes értékek alapértelmezett választása. Az adattípust soha nem szabad pontos értékekhez, például pénznemhez használni.
Alapértelmezett értékek
Adattípus | Alapértelmezett érték (mezőkhöz) |
úszó | 0.0f |
kettős | 0.0d |
A Java-ban az úszó adattípus egy tizedes értéket tárol, 6-7 pontossággal. Tehát például a 12.12345 menthető úszóként, de a 12.123456789 nem menthető úszóként. Amikor egy úszó adattípust reprezentálunk a Java-ban, akkor az f betűt hozzá kell adnunk az adattípus végéhez, különben kettős lesz.
A kettős adattípus a tizedes értékeket 15-16 számjegyű pontossággal tárolja. Az alapértelmezett érték 0, 0d, ez azt jelenti, hogy ha nem ad f vagy d értéket a tizedesjegy végére, akkor az érték kettősként kerül tárolásra a Java-ban.
Összehasonlítás a Java float és a Double között (Infographics)
Az alábbiakban a 7 legnépszerűbb összehasonlítás található a Java float és Double között
Főbb különbségek a Java úszó és a dupla között
Az alábbiakban felsoroljuk azokat a pontokat, amelyek magyarázzák a lebegő és a kettős közötti különbséget a java-ban
- A kettős adattípus pontosabb, mint a Java úszó. Alapértelmezés szerint a lebegőpontos számok kettős a Java-ban. Annak érdekében, hogy float változóban tárolhassa őket, ezeket kifejezetten be kell írnia, vagy utótaggal kell beírni az 'f' vagy 'F' betűket.
- A float 1 bittel jelöl, 8 bit exponenssel és 23 bittel mantissával, de dupla módon 1 bittel jelöl, 11 bittel exponenssel és 52 bittel a mantissal.
- Van néhány fontos dolog, amelyet figyelembe lehet venni a Java float és a Double kiválasztásakor. Találkozhatunk olyan helyzetekben is, amikor egy adott adattípust kell használnunk, amíg és hacsak nem érzi úgy, hogy az eredménye nem fog beleférni az úszóba, akkor ebben a helyzetben választhatja a dupla lehetőséget.
- Mind a Java úszó, mind a dupla típus megközelítő típusú, ám a memóriaterület és más dolgok szerint különböznek.
- Ha összehasonlítani szeretné a java-t és az úszót, mindig inkább a nagy tizedesjegyet részesítse előnyben, és amikor a nagy tizedes konstruktorral dolgozik, akkor ezt egy karakterlánc-paraméterrel kell használni.
Java float vs Java dupla összehasonlító táblázat
Az alábbiakban bemutatjuk a Java float vs. Double összehasonlító táblázatát
AZ ALAPJA
ÖSSZEHASONLÍTÁS | Java úszó | Java Double |
Meghatározás | Az úszó adattípus egy pontosságú 32 bites | A kettős adattípus dupla pontosságú 64 bites |
Használat | kevesebb pontosság | Nagyobb pontosság |
Előnyök | Kiterjedt támogató könyvtárak.
Nyílt forráskódú és közösségi fejlesztés. | További funkciók a webfejlesztéshez és a web-fókuszhoz |
Tárolás | Az úszó 32 bites tárolást igényel (It
Csak 4 bájtot igényel a változó tárolásához) | A dupla 64 bites tárolást igényel (It
8 bájtot igényel a változó tárolásához) |
akadémikusok | Az úszó 32 bites IEEE 754 lebegőpontos | A dupla egy 64 bites IEEE 754 lebegőpontos. |
Pontosság | Az úszó pontossága 6-7 tizedes számjegy | A dupla pontosság 15-16 tizedes pontosságig nyújthat pontosságot. |
Hatótávolság | Az úszó alacsonyabb tartományú, mint a dupla. | A dupla magasabb tartományban van. |
Következtetés - Java float vs Double
Bár a Java float és a Double is használható a lebegőpontos számok ábrázolására, néhány dolgot megfontolhatunk a Java float és a dupla közötti választás szempontjából. Bár mindkét Java float vs dupla típus megközelítő típusú, ha pontosabb és pontosabb eredményre van szüksége, akkor használd a double-t. Használjon úszót, ha korlátozott a memória, mert csaknem fele annyi helyet foglal el, mint dupla. Ha a számok nem tudnak beleférni a float által kínált tartományba, akkor használja duplán. Bár legyen óvatos a lebegőpontos számítás és az ábrázolás szempontjából, ne használjon dupla vagy lebegő módot a monetáris számításhoz, hanem használja a Nagy tizedes értéket.
Ez a különbség a Java és a float és a double között. Ne feledje, hogy alapértelmezés szerint a lebegőpontos számok kétszeresét jelentik a Java-ban, ha float változóba szeretnék tárolni, akkor ezeket kifejezetten át kell adni, vagy 'f' vagy 'F' karakterrel hozzá kell erősíteni.
Mindkét Java float vs dupla jelképezi a valós számokat a Java-ban, azaz a tört törtekkel vagy tizedes pontokkal jelölt számokat.
Használjon logikai operátort, például> vagy <, hogy összehasonlítsa mind a Java float, mind a Double változókat, a = és! Helyett! = mert nem pontosak.
A legjobb gyakorlat az is, ha olyan adattípust választunk, amely kevesebb tárolást igényel, ha elegendő a tárolt adatokhoz, ezért válasszon dupla feletti lebegést, ha elégedett a pontossággal és a távolsággal, a dupla pontosabb, mint az úszó.
A dupla és az úszó nem használják az értékek ábrázolását, amelyek nagyon nagy pontosságot igényelnek. Tehát például a valutaértékek tárolására nem jó ötlet dupla vagy úszó használatot használni, ehelyett a Java osztálya „Nagy tizedes”, amely meghatározza a tizedes szám utáni pontos számot, beleértve a felfelé vagy lefelé történő kerekítést is.
A kettős és az úszó adattípus mind a lebegőpontos számok ábrázolására szolgál a Java-ban, a kettős adattípus pontosabb, mint az úszó. A kettős változó 15-16 tizedes pontosságig nyújt pontosságot, összehasonlítva a 6-7 tizedes számjegy úszó pontossággal. Egy másik jelentős különbség a flova és a dupla között a java-ban a tárolási igény, a dupla drágább, mint az úszó. A változó tárolása 8 bájt, míg az úszó csak 4 bájt. Ez azt jelenti, hogy ha a memória korlátozott, akkor jobb az úszó használata, mint a dupla. A kettős típus nagyobb tartományban van, mint a float, és ha a számok nem felelnek meg jól a float-nak, akkor a Java-ban duplát kell használni. Érdemes megjegyezni, hogy a lebegőpontos számok vagy a valós számok alapértelmezés szerint duplák a Java-ban. Ha float változóba szeretné tárolni, akkor ezeket el kell dobnia, vagy 'f' vagy 'F' előtagot kell használnia.
Ajánlott cikk
Ez egy hasznos útmutató a Java float és a Double közötti különbségekhez, itt tárgyaltuk azok jelentését, fej-összehasonlítást, kulcs-különbséget és következtetéseket. A következő cikkben további információkat is megnézhet -
- Csodálatos különbségek Java Vector vs ArrayList
- Melyik a legjobb Java teljesítmény vagy Python
- Java vs Python - A 9 legfontosabb összehasonlítás
- Hadoop vs Cassandra
- Scala vs Java teljesítmény: melyik a jobb?
- Hadoop vs Spark és milyen előnyeik vannak
- ACCA vs. CIMA: Előnyök