2012-10-09 24 views

risposta

8

mezzi reali in virgola mobile, cioè double o float, al contrario di integrale (int o long)

10

Real number anziché integers. In matematica, un numero reale può essere qualsiasi valore lungo il continuum, ad esempio 4.2 o pi. Gli interi sono un sottoinsieme dei numeri reali.

Here sono le primitive Java. Alcuni dei più importanti per i numeri includono int quando si desidera un numero intero e double quando si desidera consentire le frazioni. Se ti allontani da quelli, generalmente hai una ragione specifica per farlo.

I numeri interi sono molto facili da rappresentare in binario ed è facile specificare un intervallo specifico di numeri interi che possono essere rappresentati esattamente con un numero specificato di bit. Un int in Java utilizza 32 bit e ti porta da -2.147.483.648 a 2.147.483.647. Gli altri tipi di integrale sono simili ma con numero variabile di bit.

Tuttavia, rappresentare i numeri lungo il continuum è più difficile. Tra due punti qualsiasi sulla linea del numero reale, ci sono infiniti altri numeri reali. Pertanto, non è possibile rappresentare esattamente tutti i numeri reali in un intervallo. Un modo per aggirare questo è con floating-point numbers. Non entrerò troppo nei dettagli, ma fondamentalmente si perde una certa precisione in modo che ci siano delle lacune in ciò che può essere rappresentato esattamente. Per molti scopi questo è irrilevante, ma per cose come il monitoraggio di un saldo del conto bancario, questo può avere importanza. Potrebbe valere la pena di leggere il famoso What Every Computer Scientist Should Know About Floating-Point Arithmetic.

In Java, alcuni di questi problemi includono l'uso di BigDecimal. Alcune altre lingue potrebbero offrire altre primitive come alternative. Ad esempio, C# ha un tipo di dati decimal mentre Java no.

+0

Ok, buona risposta, grazie. – user1732538

Problemi correlati