Java float vs Double - Lär dig de 9 unika jämförelserna

Innehållsförteckning:

Anonim

Skillnader mellan Java float vs Double

Flottatatypen är en 32-bitars IEEE 754-flytpunkt med en precision. Utbudet av värden ligger utanför denna diskussions räckvidd men det anges huvudsakligen i avsnittet Flytande punkttyper, format och värden i Java Language Specification.

Den dubbla datatypen är en dubbelprecision 64-bitars IEEE 754 flytande punkt. Dess värderingsintervall ligger utanför denna diskussions räckvidd men anges i avsnittet Flytande punkttyper, formater och värden i Java Language Specification.

En flottör används främst för att spara minne i stora matriser med flytpunktsnummer. Vi måste alltid komma ihåg att datatyp aldrig ska användas för exakta värden, till exempel valuta.

Dubbeldatatypen är normalt standardvalet för decimalvärden. Datatypen ska aldrig användas för exakta värden, till exempel valuta.

Ursprungliga värden

Data typStandardvärde (för fält)
flyta0.0f
dubbel-0.0d

Flottatatyp i Java lagrar ett decimalvärde med 6-7 totala siffror för precision. Så till exempel 12.12345 kan sparas som en flottör, men 12.123456789 kan inte sparas som flottören. När vi representerar en flytdatatyp i Java bör vi lägga till bokstaven f i slutet av datatypen, annars sparas den som dubbelt.

Dubbel datatyp lagrar decimalvärden med 15-16 siffror för precision. Standardvärdet är 0, 0d, det betyder att om du inte lägger till f eller d i slutet av decimalen kommer värdet att lagras som en dubbel i Java.

Jämförelse mellan head-to-head mellan Java float vs Double (Infographics)

Nedan visas de 7 bästa jämförelserna mellan Java float vs Double

Viktiga skillnader mellan Java float vs Double

Nedan är listan med punkter som förklarar nyckeln Skillnaden mellan float och Double i java

  1. Den dubbla datatypen är mer exakt än flyta i Java. Som standard är flytande punktnummer dubbla i Java. För att lagra dem i flottörvariabel måste du kasta dem uttryckligen eller efterföra med 'f' eller 'F'.
  2. Float använder 1 bit för tecken, 8 bitar för exponent och 23 bitar för mantissa men dubbla använder 1 bit för tecken, 11 bitar för exponent och 52 bitar för mantissa.
  3. Det finns några viktiga saker som vi kan ta hänsyn till när vi väljer Java float och Double. Vi kanske också stöter på vissa situationer där vi behöver använda en viss datatyp, tills och om du inte tror att ditt resultat inte passar i flottör kan du i denna situation välja det dubbla.
  4. Både Java float och Double är ungefärliga typer men skiljer sig åt med minnesutrymme och vissa andra saker.
  5. När du vill jämföra java och float föredrar du alltid Big Decimal och när du arbetar med Big Decimal-konstruktör måste du använda en strängparameter.

Java float vs Java Double Comparison Table

Följande är jämförelsetabellen mellan Java float vs Double

GRUND FÖR

JÄMFÖRELSE

Java-flottörJava-dubbel
DefinitionFlottatatypen är en 32-bitars med en enda precisionDen dubbla datatypen är en dubbelprecision 64-bitars
Användandemindre precisionMer precision
fördelarOmfattande stödbibliotek.

Open source och community-utveckling.

Fler funktioner för webbutveckling och webbfokuserad
LagringFloat behöver 32-bitars lagring (It

Ta bara 4 byte för att lagra en variabel)

Dubbel behöver 64-bitars lagring (It

tar 8 byte för att lagra en variabel)

akademikerEn flottör är en 32-bitars flytande punkt IEEE 754En dubbel är en 64 bitars flytande punkt IEEE 754.
PrecisionFlytprecisionen är 6 till 7 decimalerDubbel kan ge precision upp till 15 till 16 decimaler.
RäckviddFloat har lägre räckvidd jämfört med dubbel.Dubbel har ett högre intervall.

Slutsats - Java float vs Double

Även om både Java float och Double kan användas för att representera flytande punktnummer, finns det ett par saker vi kan överväga att välja mellan Java float och double. Även om både Java float vs Double är ungefärliga typer, om du behöver ett mer exakt och exakt resultat, använd sedan dubbel. Använd float om du har minnesbegränsning eftersom det tar nästan hälften så mycket utrymme som dubbelt. Om dina nummer inte kan passa in i det intervall som float erbjuder, använd sedan dubbelt. Även om du är försiktig med beräkning och framställning av flytande punkter, använd inte dubbel eller flyta för monetär beräkning, använd istället Big Decimal

Det är allt på skillnaden mellan float och dubbel i Java. Kom ihåg att som standard flyttalnummer är dubbla i Java om du vill lagra dem i flottörvariabeln måste du antingen kasta dem uttryckligen eller lägga till dem med 'f' eller 'F' -tecken.

Båda Java float vs Double används för att representera verkliga siffror i Java, dvs nummer med bråk eller decimaler.

Du bör använda en logisk operatör, t.ex.> eller <för att jämföra både Java float och Double variabler, istället för = och! = för att de inte är exakta.

Det är också bäst att välja en datatyp som tar mindre lagring om det är tillräckligt för data du lagrar, så välj float över dubbelt om du är nöjd med precision och räckvidd, dubbla är mer exakt än flyter dock.

Dubbel och flottör används inte för att representera värden som kräver mycket hög precision. Så till exempel för att lagra valutavärden är det inte en bra idé att använda dubbel eller flyta, istället har Java en klass "Big Decimal" som anger det exakta antalet siffror som följer decimalen, inklusive avrundning upp eller ner.

Både dubbel- och floatdatatyp används för att representera flytande punktnummer i Java, en dubbel datatyp är mer exakt än float. En dubbelvariabel kan ge precision upp till 15 till 16 decimaler jämfört med flottörprecision på 6 till 7 decimaler. En annan betydande skillnad mellan float och double i java är deras lagringsbehov, double är dyrare än float. Det tar 8 byte för att lagra en variabel medan float bara tar 4 byte. Detta betyder att om minnet är begränsat är det bättre att använda float än dubbelt. Den dubbla typen har också ett större intervall än float och om dina nummer inte passar bra i float måste du använda dubbel i Java. Det är också värt att notera att flytande punktnummer eller verkliga nummer som standard är dubbla i Java. Om du vill lagra dem i flottörvariabel måste du antingen kasta dem eller använda ett prefix 'f' eller 'F'.

Rekommenderad artikel

Detta har varit en användbar guide till skillnader mellan Java float vs Double här. Vi har diskuterat deras betydelse, Head to Head jämförelse, nyckel skillnad och slutsats. Du kan också titta på följande artikel för att lära dig mer -

  1. Fantastiska skillnader Java Vector vs ArrayList
  2. Vilket är den bästa Java-prestanda eller Python
  3. Java vs Python - Topp 9 viktiga jämförelser
  4. Hadoop vs Cassandra
  5. Scala vs Java-prestanda: Vilken är bättre?
  6. Hadoop vs Spark och vad deras fördelar
  7. ACCA vs CIMA: Fördelar