Luigi Arlotta
a- a+

Il Tipo Double

Sono numeri con una parte intera ed una parte decimale. Spesso vengono indicati con il nome di numeri in virgola mobile, in quanto il sistema li rappresenta tramite una serie di cifre significative a cui si aggiunge l'informazione sulla posizione della virgola che separa la parte intera da quella decimale. La dichiarazione ed inizializzazione di un numero di tipo double avviene tramite un'istruzione analoga a quella trattata nel caso dei numeri interi:

double numeroDouble = ValoreDouble;

dove double indica il tipo della variabile chiamata numeroDouble, mentre ValoreDouble deve essere sostituito con un numero compatibile con il tipo specificato. Anche in questo caso l'istruzione di dichiarazione e di inizializzazione possono essere divise in due istruzioni diverse:

double numeroDouble;
numeroDouble = ValoreDouble;

sempre con il vincolo che la variabile non venga utilizzata prima di essere inizializzata.

Per eseguire operazioni con numeri in virgola mobile utilizzeremo gli operatori matematici classici, ossia +, -, * e /, che indicano rispettivamente le operazioni di addizione, sottrazione, moltiplicazione e divisione. A differenza di quanto succede con i numeri interi, questa volta non viene persa l'informazione sulla parte decimale.

double dividendo = 7;
double divisore = 2;
double quoziente;
quoziente = dividendo / divisore;
System.out.println (quoziente);

Fornirà come output il risultato corretto della divisione: 3.5.

Il nome double deriva dal fatto che i numeri appartenenti a questo tipo sono considerati a doppia precisione. Il termine doppia precisione si riferisce al numero di cifre significative utilizzate per la loro rappresentazione. Questo li distingue dai numeri di tipo float, che pur rappresentando sempre numeri in virgola mobile usano una rappresentazione interna con un numero inferiore di cifre significative. Le cifre significative utilizzate per rappresentare un numero float sono sette se pensiamo alla rappresentazione decimale, o ventitrè se utilizziamo quella binaria. Per tutto il resto numeri di tipo float e double sono analoghi. Nello sviluppo di applicazioni sceglieremo quale tipo utilizzare in base alla precisione richiesta, tenendo conto del fatto che un numero a doppia precisione, ovviamente, occupa il doppio dello spazio in memoria occupato da un numero a singola precisione. Esistono anche altri tipi di dati tramite i quali possono essere rappresentati numeri particolarmente grandi o piccoli. In questa sede ci limiteremo a nominarli.

Numeri interi:

long [-9.223.372.036.854.775.808; +9.223.372.036.854.775.807]
int [
short [-32768; +32768]
BigInteger

Numeri con cifre decimali:

Double
Float
BigInteger

BigInteger e BigDecimal sono due classi definite nel pacchetto java.Math. Facendo uso di questi numeri, sostanzialmente non abbiamo limiti sulla grandezza e/o precisione dei numeri rappresentabili, tuttavia ogni operazione matematica richiede un tempo di elaborazione piuttosto lungo. Le operazioni con questi oggetti non vengono eseguite con gli operatori matematici classici, ma si farà uso di funzioni.

 



Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Sara
Hai dubbi su questo articolo?