CodeGym /Java Blog /Random-IT /Doppia parola chiave Java
John Squirrels
Livello 41
San Francisco

Doppia parola chiave Java

Pubblicato nel gruppo Random-IT
La doppia parola chiave Java , come in qualsiasi altro linguaggio, indica un formato informatico per rappresentare un numero in virgola mobile, che occupa 64 bit, o 8 byte, in memoria. In questo articolo parleremo del doppio e vedremo alcuni esempi.

Virgola mobile e calcolo: una breve descrizione matematica

I numeri frazionari sono in virgola fissa o mobile. La prima opzione può essere rappresentata come una frazione regolare, dove il numeratore (il numero stesso) e il denominatore (il suo fattore di scala) saranno numeri interi. Ad esempio, il numero 2,7 è 27 con un fattore di scala di 10, 3,14 - 314 con un fattore di 100. Tuttavia, questo approccio non è molto accurato dal punto di vista computazionale, pertanto, spesso utilizzano la rappresentazione in virgola mobile. In informatica, l'aritmetica in virgola mobile è una speciale rappresentazione aritmetica di numeri reali come approssimazione per supportare un compromesso tra intervallo e precisione. Il formato principale per rappresentare i numeri in virgola mobile in Java è chiamato float. Il suo nome deriva da virgola mobile. Float è di 32 bit, di cui 1 bit è bit con segno, 8 bit per esponente e 23 bit per significante. La sua portata è ±3. 40282347E + 38F cioè 6-7 cifre significative. Il nome double deriva da double float. ILil tipo double è grande il doppio di float : 8 byte contro 4. Viene anche chiamato numero reale a doppia precisione. Dei 64 bit riservati a un numero doppio, 1 è il bit con segno, 11 bit sono per l'esponente e 52 bit sono per il significato. La doppia frazione Java memorizza i numeri nell'intervallo ±1,79769313486231570E + 308, ovvero 15-16 cifre significative. Double è un formato più preciso. Quindi, se hai bisogno di memorizzare numeri molto grandi, preferire double over float è una buona idea. A proposito, metodi matematici come sqrt, sin o cos e molti altri restituiscono valori doppi. Tuttavia, dovresti pagare per la doppia precisione con la memoria.

Creazione di una doppia variabile

Il tipo double viene utilizzato per memorizzare numeri reali. Per creare una variabile nel codice che sarà in grado di memorizzare numeri reali, è necessario utilizzare il comando:

double name;
Dove nome è il nome della variabile.

double myPrice;  //here we create a variable called myPrice
double action; //and here -- action. 
Puoi anche usare la scorciatoia per creare più variabili di tipo double :

double name1, name2, name3;

Esempi di doppia parola chiave Java

Diamo alcuni esempi di utilizzo della double parola chiave Java per creare una variabile.

double myPrice = 5.0;
double height = 180;
double x = 7.1, y = 3.0;
Qui nella variabile myPrice abbiamo il valore 5.0, nella variabile height — 180, in x mettiamo il valore 7.1, e 3.0 in y .

Raddoppia come numero intero

In Java, alle variabili doppie possono essere assegnati sia numeri reali che numeri interi. Quando si assegnano numeri interi, vengono semplicemente convertiti in numeri reali. Sebbene a volte sia possibile una leggera perdita di precisione.

double height = 180;
int k = 2; 
int i = 5; 
double myDouble = k*i;
Infatti, la variabile height memorizza il numero 180.0 e la variabile myDouble memorizza il numero 10.0.

Interazione doppia e intera

Inoltre, se un numero intero e un numero reale sono coinvolti in un'espressione, allora il numero intero viene prima convertito in un numero reale e solo successivamente interagisce con un altro numero reale.

public class DoubleDemo {
   public static void main(String[] args) {
       int k = 2;
       double myDouble1 = 5;
       double myDouble = k*7.0;
       System.out.println(myDouble1);
       System.out.println(k*myDouble1);
       System.out.println(myDouble);
   }
}
In questo esempio, l'output sarà:
5,0 10,0 14,0
Anche se il numero myDouble1 è indicato come 5 e non 5.0, Java vede questo numero come double , quindi in realtà sembra 5.0. Se moltiplichiamo int e double, otteniamo sempre un double , anche se in realtà questo numero è un numero intero. Possiamo assegnare variabili di tipo double a variabili di tipo int . Per fare ciò, è necessario effettuare una conversione di tipo esplicita. Naturalmente, la parte frazionaria verrà scartata, il numero verrà troncato a un numero intero più piccolo.

public class DoubleDemo {
   public static void main(String[] args) {
       double x = 57.789;
       int almostX;
       almostX = (int)x;
       System.out.println(almostX);
   }
}
L'uscita è:
57
Infine, parliamo di divisione. Questa è la cosa più interessante. Potresti già esserti imbattuto nel fatto che se dividi due numeri interi, come risultato della divisione otteniamo un numero intero, anche se non sono divisibili uniformemente l'uno per l'altro:

public class DoubleDemo {
   public static void main(String[] args) {
       double myDouble = 7/2;
       System.out.println(myDouble);
   }
}
Il risultato è:
3.0
Questo perché la macchina Java prima divide due numeri interi (e ottiene 3), quindi memorizza questo valore in una variabile di tipo double e ottiene 3.0 come risultato. Per ottenere non interi, ma la solita divisione, devi imbrogliare. Ad esempio, scrivi uno dei numeri come un numero reale (quindi l'intera espressione viene automaticamente convertita in reale). Se lavoriamo con variabili di tipo intero, allora possono essere moltiplicate per 1.0. Questo non cambierà il valore, ma cambierà il tipo della variabile da int a double .

public class DoubleDemo {
   public static void main(String[] args) {
       double myDouble = 7.0/2;
       int x = 5;
       int y = 2;
       System.out.println(myDouble);
       System.out.println(x*1.0/y);
   }
}
L'uscita è:
3,5 2,5
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION