La fonction principale de strictfp en Java est de fournir le même résultat sur chaque plate-forme lorsque des variables à virgule flottante sont en cours d'exécution. À l’époque où James Gosling et son équipe développaient Java, l’un des principaux aspects du langage était l’indépendance de la plate-forme. Compiler, interpréter et exécuter le même code sur différentes machines et s'assurer que le résultat est le même et non manipulé par le processeur.
Lors du calcul des virgules flottantes sur différentes plates-formes, les résultats peuvent varier en raison de la capacité du matériel à traiter les virgules flottantes par le processeur. Strictfp garantit que vous obtenez la sortie exacte en virgule flottante sur toutes les plates-formes. Avec IEEE 754, norme pour l'arithmétique à virgule flottante, strictfp a été introduit dans la version JVM 1.2.
Commencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
Pour une variété de processeurs, les précisions standard peuvent varier ; La précision de 32 bits est différente de celle de 62 bits et ainsi de suite pour les machines x86. L'utilisation de strictfp garantit que lorsque le même code est exécuté sur différentes plates-formes, la sortie ne sera pas manipulée en raison d'une précision différente, ce qui fonctionne bien avec des plates-formes de plus grande précision. Comprenez strictfp comme FP Strict, ce qui signifie Floating Point Strict.
Le strictfp est simple et commence par le mot-clé strictfp. Ci-dessous les syntaxes d'une classe, d'une interface et d'une méthode :
1. Classe
strictfp class sample1{ // code here will me implicitly strictfp. }
2. Une Interface
strictfp interface sample2 { // methods here will be implicitly strictfp }
3. Méthode
class India { strictfp void population() }
Dans les exemples ci-dessus, nous avons simplement ajouté le mot-clé strictfp pour la classe et l'interface. Les exemples ci-dessus montrent comment strictfp le mot-clé doit être utilisé et vous trouverez ci-dessous un exemple de l'endroit où ne pas utiliser le mot-clé strictfp.
class sample1{ strictfp float a; }
Ici, attribuer un mot-clé strictfp à la variable ne fonctionnera pas. Il doit être strictement transmis avec une classe ou une interface.
Vous trouverez ci-dessous les exemples d'implémentation dans Strictfp :
Nous allons maintenant démontrer le fonctionnement du mot-clé strictfp en l'implémentant dans un exemple de code. Ci-dessous le programme pour le même :
Code :
public class Test { public strictfp double add() { double number1 = 10e+10; double number2 = 6e+08; return (number1+number2); } public static strictfp void main(String[] args) { Test example = new Test(); System.out.println(example.add()); } }
Sortie :
Explication du code ci-dessus : Nous avons commencé avec la définition de la classe Test, puis nous avons créé une méthode avec un type de données double et lui avons attribué le mot-clé strictfp. Dans add(), nous avons créé deux variables nommées number1 et number2 de type de données double, et dans la ligne suivante, la méthode renvoie l'addition de ces deux variables. Plus tard, nous avons notre classe principale, qui est également équipée de strictfp, et le bloc de code à l'intérieur hérite des propriétés strictfp. Nous avons créé un nouvel objet de notre classe, et à la fin, nous avons notre instruction d'impression de sortie, qui imprime simplement la valeur ajoutée des deux variables.
Démontrons maintenant le même mot-clé strictfp dans différents programmes. Ici, nous ne ferons aucun calcul ; à la place, nous passerons une valeur dans la variable float et l'imprimerons avec un mot-clé strictfp.
Code :
public class new_strictfp { float f = 9.381f; strictfp public void displayValue(){ System.out.println(f); } public static void main(String[] args) { new_strictfp Demo = new new_strictfp (); Demo.displayValue(); } }
Sortie :
Explication du code ci-dessus : Ceci est un autre exemple où nous avons implémenté le mot-clé strictfp. J'ai commencé avec la classe publique et créé une nouvelle variable avec un type de données et une valeur float. Nous avons ensuite créé une méthode pour imprimer la valeur float, et dans notre classe principale, nous avons initialisé un objet de notre classe. Après l'objet, nous avons notre instruction de sortie, qui appelle notre méthode créée précédemment. Ici, notre méthode créée est strictementfp activée, ce qui signifie que la valeur à virgule flottante attribuée sera imprimée telle quelle.
Comme tout autre mot-clé dans n'importe quel langage de programmation, strictfp en Java a ses utilisations et ses règles et pour obtenir les résultats escomptés, les règles spécifiées doivent être suivies. Comprenons maintenant quelques règles avant d'implémenter le mot-clé.
Le respect des règles mentionnées ci-dessus garantira la bonne utilisation de strictfp, et la différence possible entre une précision en virgule flottante donnant des résultats différents sera évitée.
Vous trouverez ci-dessous les avantages associés au mot-clé. Les avantages de l’utilisation de strictfp sont variés du point de vue du développeur ; quelques-uns sont répertoriés ci-dessous :
nous avons compris ce qu'est un mot-clé Strictfp en Java, puis nous avons exploré les utilisations et ne devions pas utiliser ce mot-clé. Il a été introduit dans JVM 1.2 conformément aux normes de virgule flottante de l'IEE 754. Nous avons démontré le mot-clé strictfp avec des syntaxes et les avons ensuite implémentés dans des exemples. C'est un modificateur qui garantit les mêmes résultats.
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!