From: Erik Berglund Newsgroups: comp.os.msdos.djgpp Subject: Possible truncation error Lines: 29 Message-ID: <_x665.15310$Za1.242989@newsc.telia.net> Date: Tue, 27 Jun 2000 18:39:54 GMT NNTP-Posting-Host: 194.237.157.182 X-Complaints-To: abuse AT telia DOT com X-Trace: newsc.telia.net 962131194 194.237.157.182 (Tue, 27 Jun 2000 20:39:54 MET DST) NNTP-Posting-Date: Tue, 27 Jun 2000 20:39:54 MET DST Organization: Telia Internet To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Hi, I tried the following program, which gives j=9999. I think the right result should be 10000, because a=0x40c3880000000000, which is exactly 10000. #include #include int main() { double a; int j,*p; a = pow(100,2); j = a; p = (int*)&a; printf("%08x%08x\n",*(p+1),*p); printf("%i\n",j); return(0); } If I insert a printf("\n") before j=a;, the result becomes 10000 instead, and I have no idea why. Thanks in advance, -- Erik Berglund erik2 DOT berglund AT telia DOT com