Maison  >  Article  >  tutoriels informatiques  >  Que sont les constantes à virgule flottante Java

Que sont les constantes à virgule flottante Java

WBOY
WBOYavant
2024-01-13 19:51:311169parcourir

Que sont les constantes à virgule flottante Java

Que sont les constantes à virgule flottante Java

Le type de données à virgule flottante représente des nombres réels, y compris les parties décimales. Les données du monde réel sont complexes et nécessitent des types de données prenant en charge des nombres réels.

1. Constantes à virgule flottante Les constantes réelles de Java ont deux formes de représentation : la forme numérique décimale, composée de nombres et de points décimaux, et il doit y avoir un point décimal, tel que 0,123, .123, 123., 123.0. 2. Formulaire de notation scientifique. Par exemple : 123e3 ou 123E3, où il doit y avoir un nombre avant e ou E, et l'exposant après e ou E doit être un nombre entier. Les constantes réelles occupent 64 bits dans la machine et ont des valeurs doubles. Pour les valeurs de type float, f ou F doivent être ajoutés après le nombre, tel que 12.3F, qui occupe 32 bits dans la machine et a une faible précision de représentation.

Les variables à virgule flottante ont deux types : float et double. float occupe 32 bits et la plage de valeurs est de 3,4e-038~3,4e+038 ; tandis que double occupe 64 bits et la plage de valeurs est de 1,7e-308~1,7e+308. Le type double a une précision plus élevée et une plage de représentation plus large que le type flottant, et est généralement utilisé dans des scénarios nécessitant une haute précision, tels que les calculs scientifiques.

En Java, vous pouvez utiliser float et double pour définir des variables à virgule flottante. Par exemple: float f; // Spécifie la variable f comme type float double d; // Spécifie la variable d comme type double Contrairement à C et C++, Java n'a pas de type entier non signé et spécifie le nombre d'octets de mémoire occupés par les données entières et à virgule flottante. Cette disposition garantit la sécurité, la robustesse et l'indépendance de la plateforme des programmes Java. Cela signifie que les différentes implémentations Java ont un comportement cohérent lorsqu'elles traitent des données entières et à virgule flottante, et que les résultats sont prévisibles quelle que soit la plate-forme sur laquelle elles s'exécutent.

Problème de calcul de virgule flottante Java

Les opérations binaires sont généralement utilisées dans le contrôle matériel. L'expression elle-même ne peut pas déterminer la signification spécifique et doit être combinée avec le scénario réel.

& est appelé "ET au niveau du bit", et ses règles sont : 0&0=0 1&0=0 0&1=0 1&1=1

"|" est appelé "OU au niveau du bit", les règles de fonctionnement sont : 0|0=0 1|0=1 0|1=1 1|1=1

0x7fffff exprimé en binaire 32 bits est 0000 0000 0111 1111 1111 1111 1111 1111

Selon la règle d'opération ET au niveau du bit, les 9 bits de poids fort sont remis à zéro.

0x800000 exprimé en binaire 32 bits est 0000 0000 1000 0000 0000 0000 0000 0000

Selon l'algorithme OU au niveau du bit, le 24ème bit est défini sur 1.

Pour mettre les choses en perspective, ((bits & 0x7fffff)|0x800000) signifie d'abord effacer les 9 bits de poids fort, puis définir le 24ème bit sur 1.

À propos de la première moitié, «

Quant au point d’interrogation, inutile de l’expliquer, n’est-ce pas ?

Une question JAVA sur les types à virgule flottante

Les nombres à virgule flottante comporteront des erreurs après les opérations, ce qui est normal.

double a=2.00-1.10;

double b=0,90;

System.out.print(a==b);

Le résultat sera faux

Donc, parfois, une méthode est utilisée pour juger de l'égalité des nombres à virgule flottante, et c'est

booléen statique public isEqual(double a,double b){

double epsilon final=0,00000001;

retour Math.abs(a-b)

}

En résumé, les nombres à virgule flottante auront des erreurs après les opérations. 0,7799999713897705 est l'erreur causée par la conversion de float en double, et 0,78 est le fonctionnement normal de float

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer