Java, Java.
java-ohjelmointitaulukot
Liukuvan pisteen tietotyyppejä on kahdenlaisia:
- float Data Type
- kaksinkertainen tietotyyppi
Sekä float että double edustavat liukulukuja, jotka tallentavat desimaaliarvot.
Liukupisteen tietotyyppi | Arvot | Koko (bittiä)* | Tallennustilatarve (tavuja) | Oletusarvo | Tarkkuus | Desimaalilukuja | Alue | Tarkkuus |
---|---|---|---|---|---|---|---|---|
kellua | IEEE 754 liukuluku | 32 | 4 | 0.0f | Yksittäinen | 6 desimaalin numeroa | 3.4e-038 - 3.4e+038 | Matala |
kaksinkertainen | IEEE 754 liukuluku | 64 | 8 | 0.0d | Kaksinkertainen | 15 desimaalin numeroa | 1,7e-308 - 1,7e+308 | Korkea |
*Kokobitit sisältävät seuraavat:
Bittiä | kellua | kaksinkertainen |
---|---|---|
Merkki | 1 | 1 |
Eksponentti | 8 | yksitoista |
Mantissa | 23 | 52 |
Yksittäinen tarkkuus: Se koostuu yksi merkkibitti (S), kahdeksan eksponenttibitit (E) ja kaksikymmentäkolme mantissanpalat (M).
rekha ikä
Kaksinkertainen tarkkuus: Se koostuu yksi merkkibitti (S), yksitoista eksponenttibitit (E) ja viisikymmentäkaksi mantissanpalat (M).
float Data Type
Se on 32-bittinen yhden tarkkuuden IEEE 754 (Floating-Point Aithmetic -standardi) liukulukuluku. Se tarkoittaa, että se antaa 6-7 desimaalin tarkkuuden. Sitä käytetään, jos haluamme käyttää muistia tehokkaasti, koska se vie vähemmän muistia verrattuna kaksinkertaiseen tietotyyppiin. Kelluvan arvon määrittämiseksi meidän on käytettävä päätettä f tai F. Sen oletusarvo on 0.0f. Oletusarvoisesti kelluvia lukuja käsitellään kaksinkertaisina Javassa.
Jos esimerkiksi määritämme liukuluvun seuraavasti:
float height = 167.7
Yllä oleva float-muuttujan ilmoitus antaa käännösvirheen. Voimme korjata virheen lisäämällä liitteen f tai F.
float height = 167.7f or float height = 167.7F
kaksinkertainen tietotyyppi
Kaksoistietotyyppi on 64-bittinen kaksinkertainen tarkkuus IEEE 754 liukulukuluku. Se tarkoittaa, että se antaa 15-16 desimaalin tarkkuuden. Se kuluttaa enemmän muistia float-tietotyyppiin verrattuna. Sitä käytetään desimaaliarvojen tallentamiseen. Sen oletusarvo on 0.0d. On valinnaista lisätä pääte d tai D. Esimerkki:
java-merkkijono vertailuun
double price = 987.90D or double price = 987.90d or double price = 987.90
float Vs double Data Type
Kaksoistietotyyppi on tarkempi kuin float-tietotyyppi. Seuraavassa taulukossa on yhteenveto kelluvien ja kaksoistietotyyppien välisistä eroista.
Perusta | float Data Type | kaksinkertainen tietotyyppi |
---|---|---|
Muisti | Se miehittää 4 tavua. | Se miehittää 8 tavua. |
Tarkkuus | Sen tarkkuus on matala . | Sen tarkkuus on korkea . |
Tarkkuus | Se seuraa yksittäinen tarkkuus (6-7 desimaalin numeroa). | Se seuraa kaksinkertainen tarkkuus (15-16 desimaalilukua). |
Käytetty avainsana | The kellua avainsanaa käytetään float-luvun määrittämiseen. | The kaksinkertainen avainsanaa käytetään määrittämään kaksinkertaisen tarkkuuden luku. |
Kääre luokka | Sen kääreluokka on java.lang.Float. | Sen kääreluokka on java.lang.Double. |
Oletustietotyyppi | Java ei käytä sitä oletusarvoisena liukulukulukuna. | Se on oletuksena tietotyyppi liukulukuille. |
Tietojen menetys | Siellä on ei tietojen menetystä jos muunnetaan float tuplaksi. | Siellä on tietojen häviäminen jos muunnamme kaksinkertaisen kelluvaksi. |
Käyttää | Sitä tulee käyttää missä vähemmän tarkkuutta tarvitaan ja varastointi on rajoitus. | Sitä käytetään missä enemmän tarkkuutta tarvitaan ja vaatii myös enemmän tarkkuutta. |
Suffiksi | Se käyttää F tai f jälkiliitteenä. On pakollista lisätä pääte, jos ilmoitat float-muuttujan. | Se käyttää d tai D jälkiliitteenä. On valinnaista lisätä pääte, jos ilmoitat kaksoismuuttujan. |
Edustus | 28.96f tai 28.96F | 12.5 tai 12.5D tai 12.5p |
Samankaltaisuudet kelluvan ja kaksoistietotyypin välillä
- Reaaliluvut voidaan esittää molemmilla tietotyypeillä.
- Sekä float- että kaksoistietotyypit eivät ole tarkkoja, joten ne ovat likimääräisiä arvoja.
Mitä liukulukutietotyyppiä Javassa meidän tulisi käyttää?
double on tarkempi kuin float. Jos siis vaaditaan tarkempaa ja tarkempaa tulosta, käytä tuplaa. Toinen syy käyttää tuplaa on se, että jos numero ei sovi kellukkeen tarjoamaan valikoimaan, käytä tuplaa. Meidän tulee käyttää float-toimintoa, jos meillä on muistirajoitus, koska se vie puoli tilaa kuin kaksinkertainen.
Suosittelemme käyttämään double over float -toimintoa, jos muisti- ja tilarajoituksia ei ole ja kun tarvitaan enemmän tarkkuutta. Suosittelemme käyttämään kelluketta, jos muisti on huolissasi, eikä tulosta vaadita 16 tarkkuudella desimaaliluvulla.
kali linux terminaali
Seuraavat kaksi Java-ohjelmat osoittavat selvästi erot float- ja double-tietotyypin välillä.
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 } }
Lähtö:
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 } }
Lähtö:
x/y = 0.3333333333333333
Yllä olevien kahden esimerkin avulla on selvää, että kaksoistietotyyppi vie enemmän muistia kaksinkertaisen tarkkuuden tallentamiseen ja antaa myös tarkemman tuloksen 16 desimaalin tarkkuudella. Vaikka float-tietotyyppi vie vähemmän tilaa yhden tarkkuuden lukujen tallentamiseen, ja se antaa tuloksia jopa 6 desimaalin tarkkuudella.