Floating point computation "non-bug"
Andreas Schwab
schwab@suse.de
Fri Apr 11 16:09:00 GMT 2003
Dave Elcock <dave@sias.com> writes:
|> Given that f1 is represented not as exactly 2.3, how does gcc manage to
|> turn that in to 23 when assigning to f2, but 22 when casting to int?
Because if you round (float)2.3*10 to float precision you get 23, but
rounded to double precision you get 22.99999952316284179688 which is less
than 23.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
More information about the Gcc-bugs
mailing list