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