Home E-Books Effetti speciali e sviluppo giochi in Java Double e Float

Effetti speciali e sviluppo giochi in Java(TM) -Double e Float

di Anibal Wainstein (traduzione di Hanami Solutions)

1.2.4 Double e Float

Esistono due tipi di numeri in virgola mobile in Java: double e float. Double usa 64 bits per rappresentare i numeri e ha il doppio della precisione di float che usa solo 32 bits. I numeri in virgola mobile funzionano nello stesso modo dei numeri interi quando li si tratta con operatori aritmetici. Possono essere dichiarati nella seguente maniera:

double PI = 3.141592654;

float PI = 3.141592654;

1.2.5 Bytes

I Bytes sono numeri interi compresi tra 0 e 255. Gli operatori aritmetici funzionano con questi nella stessa maniera in cui operano con i numeri interi, ma con la differenza che un byte non può assumere un valore negativo o superiore a 255.


1.2.6 Conversione tra numeri interi e in virgola mobile

Prendiamo l'esempio che abbiamo due numeri interi "x" e "y" e che li userete in seguito per tracciare un punto sullo schermo. Supponiamo anche che abbiamo due numeri in virgola mobile "a" e "b". Hanno i valori:

float a = 7.5;

float b = 1.0;
Ora tracceremo la somma come una coordinata x e la differenza come coordinata y. Dato che questi numeri sono in virgola mobile non si possono impostare le variabili "x" e "y" per accettare direttamente questi valori. Serve una speciale conversione:
//"x" conterrà 9 perché 

//8.5 si arrotonda a 9

int x = (int)(a + b);       
//"y" conterrà 7 perché //6.5 si arrotonda a 7. int y = (int)(a - b);

Questo si chiama type casting. I numeri in virgola mobile vengono convertiti a interi. Osservate che le variabili "a" e "b" non sono convertite a numeri interi durante il processo di conversione. Il tipo di una variabile non può cambiare una volta che sia stato dichiarato. Possiamo anche convertire nell'altro modo:

a = (float) (x + y);

Si calcola la somma, la si converte e il risultato viene immagazzinato nella variabile "a". Più tardi esamineremo altri usi per questo. 

 

Pagina seguente >>