logo

Flotteur contre Double Java

En Java, Java.

méthode principale Java

Il existe deux types de données à virgule flottante :

  • Type de données float
  • Type de données double

float et double représentent les nombres à virgule flottante qui stockent les valeurs décimales.

Type de données à virgule flottante Valeurs Taille (bits)* Exigence de stockage (octets) Valeur par défaut Précision Chiffres décimaux Gamme Précision
flotter Virgule flottante IEEE 754 32 4 0,0f Célibataire 6 chiffres décimaux 3.4e-038 à 3.4e+038 Faible
double Virgule flottante IEEE 754 64 8 0,0d Double 15 chiffres décimaux 1,7e-308 à 1,7e+308 Haut

*Les bits de taille incluent les éléments suivants :

Morceaux flotter double
Signe 1 1
Exposant 8 onze
Mantisse 23 52

Simple précision : Cela consiste en un bit de signe (S), huit bits d'exposant (E), et vingt-trois bits de mantisse (M).

Double precision: Cela consiste en un bit de signe (S), onze bits d'exposant (E), et cinquante-deux bits de mantisse (M).

Flotteur contre Double Java

Type de données float

Il s'agit d'un nombre à virgule flottante IEEE 754 (Standard for Floating-Point Arithmetic) de 32 bits, simple précision. Cela signifie qu'il donne une précision de 6 à 7 chiffres décimaux. Il est utilisé si nous voulons utiliser efficacement la mémoire car il prend moins de mémoire par rapport au type de données double. Pour définir une valeur flottante, il faut utiliser un suffixe f ou F. Sa valeur par défaut est 0.0f. Par défaut, les nombres flottants sont traités comme des doubles en Java.

noyau Java

Par exemple, si nous définissons un nombre flottant comme :

 float height = 167.7 

La déclaration ci-dessus de la variable float donne l'erreur de compilation. Nous pouvons corriger l'erreur en ajoutant un suffixe f ou F.

 float height = 167.7f or float height = 167.7F 

Type de données double

Le type de données double est un nombre à virgule flottante IEEE 754 double précision de 64 bits. Cela signifie qu'il donne une précision de 15 à 16 chiffres décimaux. Il consomme plus de mémoire que le type de données float. Il est utilisé pour stocker des valeurs décimales. Sa valeur par défaut est 0,0d. Il est facultatif d'ajouter le suffixe d ou D. Par exemple :

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

float vs double type de données

Le type de données double est plus précis que le type de données float. Le tableau suivant résume les différences entre les types de données float et double.

Base Type de données float Type de données double
Mémoire Il occupe 4 octets. Il occupe 8 octets.
Précision Sa précision est faible . Sa précision est haut .
Précision Ça suit simple précision (6-7 chiffres décimaux). Ça suit double precision (15-16 chiffres décimaux).
Mot clé utilisé Le flotter Le mot-clé est utilisé pour définir un nombre flottant. Le double Le mot-clé est utilisé pour définir un nombre double précision.
Classe d'emballage Sa classe wrapper est java.lang.Float. Sa classe wrapper est java.lang.Double.
Type de données par défaut Java ne l'utilise pas comme nombre à virgule flottante par défaut. C'est le défaut type de données pour les nombres à virgule flottante.
Perte de données Il y aura aucune perte de données si nous convertissons float en double. Il y aura perte de données si nous convertissons double en float.
Les usages Il doit être utilisé là où moins de précision est nécessaire et le stockage est une contrainte. Il est utilisé là où plus de précision est nécessaire et nécessite également plus de précision.
Suffixe Il utilise F ou F comme suffixe. Il est obligatoire d'ajouter un suffixe si vous déclarez une variable float. Il utilise d ou D comme suffixe. Il est facultatif d'ajouter un suffixe si vous déclarez une variable double.
Représentation 28,96f ou 28,96F 12,5 ou 12,5D ou 12,5j

Similitudes entre les types de données float et double

  • Les nombres réels peuvent être représentés par les deux types de données.
  • Les types de données float et double ne sont pas précis et constituent donc une valeur approximative.

Quel type de données à virgule flottante en Java devrions-nous utiliser ?

double est plus précis que float. Donc, si un résultat plus précis et précis est requis, utilisez le double. Une autre raison d'utiliser double est que si le nombre ne rentre pas dans la plage proposée par le flotteur, utilisez double. Nous devrions utiliser float si nous avons des contraintes de mémoire car il occupe la moitié de l'espace plutôt que le double.

oups en java

Nous vous recommandons d'utiliser le double over float s'il n'y a pas de contrainte de mémoire et d'espace et lorsqu'une plus grande précision est nécessaire. Il est conseillé d'opter pour le flottant, si la mémoire est un problème et que le résultat en 16 chiffres décimaux de précision n'est pas requis.

où se trouve la touche Insérer sur le clavier d'un ordinateur portable

Les deux suivants Programmes Java montrer clairement les différences entre les types de données float et 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 } } 

Sortir:

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

Sortir:

 x/y = 0.3333333333333333 

À travers les deux exemples ci-dessus, il est clair que le type de données double nécessite plus de mémoire pour stocker un nombre double précision et donne également un résultat plus précis jusqu'à 16 chiffres décimaux. Alors que le type de données float prend moins d’espace pour stocker des nombres en simple précision et donne des résultats jusqu’à 6 décimales.