Re: float

ratheesh k <[email protected]> Tue, 11 Jan 2011 14:04:26 +0530
Newsgroups org.kernel.vger.linux-c-programming
Message-ID <[email protected]>
On Tue, Jan 11, 2011 at 1:31 PM, Thomas Weber
<[email protected]> wrote:
> Okay, now I got it.
>
> Look for IEEE754.
>
> 0.1 is in double precision 0.10000000149011612
>
> Thomas
>

Is it possible to print the correct "printf" statement by typecasting
some of operations or  data types. I tried with no success.

-Ratheesh


> 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;
>>> }
>>
>
--
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