Re: float
Thomas Weber <[email protected]> Tue, 11 Jan 2011 09:01:45 +0100
| Newsgroups | org.kernel.vger.linux-c-programming |
|---|---|
| Message-ID | <[email protected]> |
Am 11.01.2011 08:55, schrieb Uriel Corfa: > I'd say : rounding errors. Floating point goes in mysterious ways. > > On Tue, Jan 11, 2011 at 8:38 AM, ratheesh k <[email protected]> wrote: >> I could not understand why it getting printed like this. Could any >> body tell me. >> >> #include <stdio.h> >> >> int main() >> { >> float f=0.0f; >> int i; >> >> for(i=0;i<10;i++) >> f = f + 0.1f; >> >> if(f == 1.0f) >> printf("f is 1.0 \n"); >> else >> printf("f is NOT 1.0\n"); >> >> return 0; >> } > Okay, now I got it. Look for IEEE754. 0.1 is in double precision 0.10000000149011612 Thomas