Java >> Tutoriel Java >  >> Java

Méthode Java Double doubleTorRawLongBits() avec exemple

Méthode doubleTorRawLongBits() à double classe

  • méthode doubleTorRawLongBits() est disponible dans le package java.lang.
  • méthode doubleTorRawLongBits() suit les normes à virgule flottante double IEEE 754 et selon les normes, il renvoie les bits qui dénotent la valeur à virgule flottante tout en préservant la valeur NaN.
  • méthode doubleTorRawLongBits() est une méthode statique, elle est également accessible avec le nom de la classe et, si nous essayons d'accéder à la méthode avec l'objet de la classe, nous n'obtiendrons pas non plus d'erreur.
  • méthode doubleTorRawLongBits() ne lève pas d'exception au moment de représenter les bits tout en préservant NaN.

Syntaxe :

    public static long doubleToRawLongBits(double value);

Paramètre(s) :

  • double valeur – Ce paramètre représente la valeur à virgule flottante double précision.

Valeur renvoyée :

Le type de retour de cette méthode est long, il retourne les bits qui représentent la valeur à virgule flottante double précision.

Remarque :

  • Si nous passons l'infini positif , il renvoie la valeur 0x7ff0000000000000L .
  • Si nous passons l'infini négatif , il renvoie la valeur 0xfff0000000000000L .
  • Si nous passons NaN , il renvoie les valeurs NaN réelles (c'est-à-dire qu'il ne réduit pas tous les bits codant un NaN à un NaN "de base" valeur).

Exemple :

// Java program to demonstrate the example 
// of doubleToRawLongBits(double value)
// method of Double class

public class DoubleToLongBitsOfDoubleClass {
    public static void main(String[] args) {
        // Variables initialization
        double value1 = 18.20;
        double value2 = 19.20;

        // Display value1,value2 values
        System.out.println("value1: " + value1);
        System.out.println("value2 :" + value2);

        // It returns the bits denoted by the double 
        // floating-point argument by calling 
        // Double.doubleToRawLongBits(value1)
        long result1 = Double.doubleToRawLongBits(value1);
        long result2 = Double.doubleToRawLongBits(value2);

        // Display result1,result2 values
        System.out.println("Double.doubleToRawLongBits(value1): " + result1);
        System.out.println("Double.doubleToRawLongBits(value2): " + result2);
        System.out.print("Double.doubleToRawLongBits(NaN): ");
        System.out.println(Double.doubleToRawLongBits(5.0 % 0));
    }
}

Sortie

value1: 18.2
value2 :19.2
Double.doubleToRawLongBits(value1): 4625816062258262835
Double.doubleToRawLongBits(value2): 4626097537234973491
Double.doubleToRawLongBits(NaN): 9221120237041090560

Balise Java