Ho letto qui:
http://it.wikipedia.org/wiki/Floating_point
http://www.okpedia.it/conversione_decimale_binario
http://docs.python.it/html/tut/node15.html
è ho dedotto questo:
Con un sistema a virgola mobile binario un numero X viene rappresentato nella forma approssimata M*b^E dove (M = 0 . m1 m2 ... mi ... mt). La precisione in un sistema binario a virgola mobile vale quindi 2^(1-t) così esiste una distanza tra i numeri funzione dell'errore e del valore X quantificata da java con ulp(). nextAfter() invece fornisce il valore successivo in una direzione scelta che non è una grandezza nulla ma diversa da zero e tanto più piccola quanto più alta è la precisione della mantissa ovvero tanto più grande è il numero t.
Esempio:
codice:import static java.lang.Math.*; class Esempio { public static void main(String args[]) { double x,y; double b = 9999999999D; double c; x = ulp(b); y = nextAfter(b,b+1); c = b+ulp(b); System.out.println(x); System.out.println(y); System.out.println(c); } }![]()
Output:
Se è giusto (chiedo comunque conferma1.9073486328125E-6
9.999999999000002E9
9.999999999000002E9) potevate scrivermelo voi senza burlarvi della mia ignoranza...
e senza fornirmi pagine in inglese che sapete che odio come la peste...
be non esageriamo... la peste la odio di più ma subito dopo viene l'inglese
![]()
Dimenticavo... grazie per sopportarmi![]()
![]()
![]()