I just have a few lines of code C++ bellow:
long re = 103491683;
double temp = (double)re * (double)re;
cout<<"\n"<<"double * double = \t"<<(long)temp;
long temp2 = re * re;
cout<<"\n"<<"long * long = \t\t"<<temp2;
and it returns 2 different value:
double * double = 10710528450172488
long * long = 10710528450172489
I cannot understand what happen, I had this bug on java and I also tried on C++ and that's problem. Please help me (sorry for my poor English)