Re: float

ratheesh k <[email protected]>
Newsgroups gmane.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
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.