Thanks, very clear and detailed explanation! On Sat, Jan 2, 2010 at 3:26 PM, Nuno Garcia <[email protected]> wrote:
> The thing is that the compiler evaluates the right side of the > assignment instruction as an operation between integer constants, and > thus produces the overflow, which is aftterwards passed to the double > variable. > > In C you would have the same mistake and thus is always a good > practice do represent numbers in a way that is consistent with the > variable they will be assigned to. > > Check the use of the 'd' and 'f' clauses, as in this example: > > http://www.concentric.net/~Ttwang/tech/javafloat.htm > > Best regards from Portugal, > > Nuno Garcia > > 2010/1/2 MARIO CAMPAZ <[email protected]>: > > Exactly, overflow int multiplication. Even when you are using a double > > variable. > > > > On Sat, Jan 2, 2010 at 1:57 PM, Rory O'Conor <[email protected] > > > > wrote: > >> > >> sorted > >> > >> public class MathsBug { > >> > >> public static void main(String[] args) { > >> double b = 0.0; > >> b = 1000 * 1000 * 1000; > >> System.out.println("1000 * 1000 * 1000 = "+b); > >> b = b * b; > >> System.out.println("above squared = "+b); > >> b = 1000 * 1000 * 1000 * 1000; > >> System.out.println("1000 * 1000 * 1000 * 1000 = "+b); > >> System.out.println("Surely some mistake!"); > >> b = 1000.0 * 1000 * 1000 * 1000; > >> System.out.println("1000.0 * 1000 * 1000 * 1000 = "+b); > >> b = (double) 1000 * 1000 * 1000 * 1000; > >> System.out.println("(double) 1000 * 1000 * 1000 * 1000 = "+b); > >> } > >> } > >> > >> -- > >> To post to this group, send email to > >> [email protected] > >> To unsubscribe from this group, send email to > >> [email protected]<javaprogrammingwithpassion%[email protected]> > >> For more options, visit this group at > >> http://groups.google.com/group/javaprogrammingwithpassion?hl=en > > > > -- > > To post to this group, send email to > > [email protected] > > To unsubscribe from this group, send email to > > [email protected]<javaprogrammingwithpassion%[email protected]> > > For more options, visit this group at > > http://groups.google.com/group/javaprogrammingwithpassion?hl=en > -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/javaprogrammingwithpassion?hl=en
