Re: float

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <ratheesh.ksz@xxxxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Assembler]     [Git]     [Kernel List]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [C Programming]     [Yosemite Campsites]     [Yosemite News]     [GCC Help]

  Powered by Linux