Abhängigkeit vom Rechenweg

geschickte Umformungen vermeiden evtl. gefährlich Rundungen

double x = 1e+10;
double y = 1e-10;
System.out.println ( (x+y)*(x-y) - x*x );
  ==> 0.0
System.out.println ( x*x - y*y   - x*x );
  ==> 0.0
System.out.println ( x*x - x*x   - y*y );
  ==> -1.0000000000000001E-20



Johannes Waldmann 2007-06-04