Re: float

Thomas Weber <[email protected]>
Newsgroups gmane.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
--
To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.