Java galleggia e doppio confronto

Java galleggia e doppio confronto

Java galleggia e doppio confronto

Il galleggiante e i doppi tipi sono due diversi formati per rappresentare numeri reali in Java. Entrambi sono indicati come i tipi di punto mobile. Un numero reale in matematica è un numero intero e una parte decimale. Ad esempio, 23.75 è un numero reale. La parte del numero intero è 23 e la parte decimale è 75. Se la parte decimale è ".0 ", il numero reale è 23.0, quindi il numero reale è un numero intero. I numeri interi sono un sottoinsieme di numeri reali. Una serie di numeri reali dal più piccolo a più grande valore avrebbe numeri interi all'interno. Ad esempio, la gamma di numeri reali da -3.5 a +3.5 ha i numeri interi, -3, -2, -1, 0, +1, +2 e +3, all'interno. Non dimenticare che la parte decimale di un numero reale è una frazione adeguata. Per esempio .75 è 3/4.

Come si vede dall'intervallo sopra, che va da -3.5 a +3.5, un numero può essere positivo o negativo. Un numero senza il segno è chiamato numero assoluto. Il numero assoluto di -2.5 è 2.5. Il numero assoluto di +2.5 è 2.5. Il numero assoluto è il numero positivo.

Il numero, 23.75 può essere rappresentato da un galleggiante o da un doppio. Quindi, come fa la differenza? La risposta a questo può essere apprezzata cercando di rispondere alla domanda: quanti numeri ci sono tra 2 e 3, compresi (inclusi 2 e 3)? In effetti, il numero di numeri tra 2 e 3 è infinito. Quindi, i numeri galleggianti o doppi sono un insieme di numeri in un intervallo, poiché i numeri infiniti non possono essere determinati. Per lo stesso intervallo, ci sono più numeri doppi, con intervalli più brevi tra ogni coppia consecutiva di numeri.

Questo articolo confronta i galleggianti e il doppio in Java, a cominciare da un tipo immaginario corrispondente chiamato FLOT e DUB.

Tipi corrispondenti immaginari

Sviluppiamo i nostri tipi corrispondenti immaginari chiamati flot e dubbi, corrispondenti al galleggiante e doppio.

Flotta

Con il tipo di flot, abbiamo tre numeri tra 2 e 3. Facciamo i numeri, 2.25, 2.5 e 2.75. Quindi, gli unici numeri di flotto tra 2 e 3 inclusi, sono 2, 2.25, 2.5, 2.75 e 3. Come si può vedere da questo intervallo, il numero assoluto più piccolo nell'intero set di flot è 0.25, che è anche la differenza tra due numeri consecutivi. (Per avere i numeri da 3 a 4, continua ad aggiungere 0.25).

Dubum

Con il tipo di dubbio, abbiamo sette numeri tra 2 e 3. Facciamo i numeri, 2.125, 2.25, 2.375, 2.5, 2.625, 2.75, 2.875. Quindi, l'unico numero di dubbi tra 2 e 3 inclusi, sono 2, 2.125, 2.25, 2.375, 2.5, 2.625, 2.75, 2.875 e 3. Come si può vedere da questo intervallo, il numero assoluto più piccolo nell'intero set di dubbi, è 0.125, che è anche la differenza tra due numeri consecutivi. (Per avere i numeri da 3 a 4, continua ad aggiungere 0.125). Questo numero è inferiore a 0.25 per flot.

Margine di errore

Si noti che i numeri consecutivi per dubbi sono più piccoli di intervalli rispetto ai numeri consecutivi per flot.

Non è possibile determinare il numero esatto di numeri all'interno di un intervallo di mutamenti o dubbi, poiché tutti i numeri nell'intervallo sono infiniti. Quindi, c'è un margine di errore per qualsiasi numero indicato, inclusi numeri interi, come 2 o 3, per uno di questi tipi.

Per i voli, per qualsiasi numero indicato, il numero è accurato all'interno, + o - 1/4 (i.e. 0.25). Quindi, un numero di flotto di 2.5, in realtà si trova da qualche parte tra 2.375 e 2.675. Un numero di flotto di 3, in realtà si trova da qualche parte tra 2.875 e 3.125. Il numero effettivo (precisione) non può mai essere determinato. Anche un intero di un tipo di flotto è un numero che non è molto certo.

Per i dubbi, per qualsiasi numero indicato, il numero è accurato in + o -1/8 (0.125). Quindi, un dubbio di 2.5, in realtà si trova da qualche parte tra 2.4375 e 2.5625. Un dubbio di 3, in realtà si trova da qualche parte tra 2.9375 e 3.0625. Il numero effettivo (precisione) non può mai essere determinato. Anche un numero intero di un tipo di dubbio è un numero che non è molto certo. Si noti che un numero di dubbi ha più precisione di un numero di flot.

Il galleggiante e i doppi tipi in Java sono di conseguenza simili a questi tipi di flat e dubbi immaginari. I loro intervalli sono di conseguenza più piccoli.

Confronto di galleggiante e doppio proprio in Java

Il galleggiante è noto come un singolo tipo di precisione. Il doppio è noto come un tipo a doppia precisione. Un numero di galleggiamento occupa 32 bit (quattro byte). Un doppio numero occupa 64 bit (otto byte). Entrambi i numeri rappresentano numeri reali in Java, con il doppio tipo che ha meno intervalli tra numeri consecutivi. Entrambi i tipi non possono mai dare un numero esatto. Tuttavia, il doppio ha meno tolleranza rispetto al galleggiante. Entrambi i tipi sono effettivamente basati su formati di IEEE 754.

L'intervallo del doppio tipo dalla sua estremità negativa all'estremità positiva, è più ampia dell'intervallo del tipo di galleggiante, dalla sua estremità negativa alla sua estremità positiva.

Galleggiante

Il numero positivo normalizzato più piccolo del tipo di galleggiante è 2-126. Il numero positivo più grande per il galleggiante è (2 - 2-23) × 2127. L'insieme di numeri float può essere immaginato come aggiunta ripetutamente 2-126 dall'estremità negativa alla sua estremità positiva.

Un valore numero di galleggiante dovrebbe terminare con "F", come mostra il seguente programma:

Classe pubblica TheClass
public static void main (string [] args)
float flt = 23.75f;
Sistema.fuori.println (flt);

L'output è:

23.75

Doppio

Il numero positivo normalizzato più piccolo del doppio tipo è 2-1022, più piccolo di quello del galleggiante. Il numero positivo più grande per il doppio è (2 - 2-52) × 21023. L'insieme di doppi numeri può essere immaginato come aggiunta ripetutamente 2-1022 dall'estremità negativa, all'estremità positiva.

Un valore a doppio numero non termina con "F" o "D" o "R", come mostra il seguente programma:

Classe pubblica TheClass
public static void main (string [] args)
doppio dbl = 23.75;
Sistema.fuori.println (dbl);

L'output è:

23.75

Ma con meno margine di tolleranza, che con il galleggiante sopra.

Float e Double sono tipi primitivi. E quindi, nessuna classe deve essere importata nel programma dal programmatore per loro da utilizzare.

Nan

NAN sta per non-un numero. Considera il seguente programma:

Classe pubblica TheClass
public static void main (string [] args)
Sistema.fuori.println (0/0);

Il programma si compila senza alcun problema, ma emette il seguente messaggio di errore, quando eseguito:

Eccezione nel thread "Main" Java.Lang.Aritmeticexception: / per zero
a Theclass.Main (TheClass.Java: 3)

L'operazione non valida qui è, a zero da zero. Il risultato è NAN, sebbene sia stato emesso un messaggio di errore. Questo è applicabile sia a galleggiante che a doppio. Altre operazioni non valide, provocano NAN.

Conclusione

Il galleggiante è noto come un singolo tipo di precisione. Il doppio è noto come un tipo a doppia precisione. Un numero di galleggiamento occupa 32 bit (quattro byte). Un doppio numero occupa 64 bit (otto byte). Entrambi i tipi rappresentano numeri reali in Java, con il doppio tipo che ha meno intervalli tra numeri consecutivi ed è più preciso.

Chrys