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).
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.