Utente:LoStrangolatore/Java/Aritmetica floating point
problemi possibili:
- alcune operazioni non sono commutative, pur essendolo nell'aritmetica "normale"
- overflow
- underflow: se un'operazione restituisce un numero troppo vicino a zero, questo risultato può essere approssimato appunto con zero (significato differente rispetto all'underflow dell'aritmetica dei numeri interi)
- perdita di precisione: il risultato di un'operazione può avere precisione minore di quella di uno o di entrambi gli operandi (per es. se richiede più bit per la parte intera rispetto ai bit richiesti negli operandi)
- aumentando il valore della parte intera, diminuisce il numero di bit a disposizione della parte decimale, e quindi diminuisce la precisione della parte decimale. Ciò vuol dire anche che diminuisce la quantità di numeri rappresentabili: per es. tra 1 e 2 ci sono più valori che tra 101 e 102
- ...
Background:
- significato del termine "eps", vedi qui su en.wiki.
fonti da consultare e da mettere nella bibliografia:
- http://www.validlab.com/goldberg/paper.pdf
- Capitolo 4 della specifica di linguaggio, sezione 4.2.3
- http://docs.oracle.com/javase/7/specs/jls/JLS-JavaSE7.pdf (JLS, capitolo 3, sezione 3.10)
- guide sul sito della Oracle? dai Java tutorials?
- lo standard ufficiale dell'IEEE 754, online
- altre si trovano nelle sezioni della bibliografia e degli approfondimenti della voce w:en:IEEE_754-2008
Altri argomenti:
- strictfp: vedi w:en:strictfp
- valori letterali: vedi http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html