Re: SPAM Re: [GD-General] ieee754 -0.0f?
Brought to you by:
vexxed72
|
From: Peter <pe...@to...> - 2006-02-01 18:49:14
|
then it's your compiler. When it translates the string/token "-0.0f"
apparently it's smart enough to generate a 'real' zero. I don't know of
any requirement that a compiler supports explicit generation of -0 in
any form; only that its underlying math behaves correctly.
So if you try this:
union { unsigned int asUInt; float asFloat; } val; val.asUInt =
0x80000000; printf("%f",val.asFloat);
you -may- see -0.0f depending on whether your printf implementation
cares to show the difference! Personally I've frequently been bitten by
quirks in the way a debugger's windows accept input or display output -
you need to look at a hex or binary display of memory and registers, and
use an assembly (rather than source-level) debug, to be sure of what's
really happening.
Peter
Andras Balogh wrote:
> I run this code:
>
> float f = -0.0f;
> void* p = *(reinterpret_cast<void**>(&f));
> ::printf("%f = %p\n", f, p);
>
> And it prints all zeroes. For any other number I see the correct
> hexadecimal representation of the float number.
>
>
> Thanks,
>
> Andras
>
>
>
> On Wed, 01 Feb 2006 10:32:28 -0700, Peter <pe...@to...> wrote:
>
>> what is the context here? If you're interpreting 0x80000000 (32 bit
>> int) as a 32-bit IEEE float it's -0.0f and 0x00000000 is 0.0f.
>> Where are you seeing the -0.0f? In a debugger? I think you must be
>> seeing some idiosyncrasy of your development environment or toolchain.
>>
>> Andras Balogh wrote:
>>
>>> I know that -0.0f == +0.0f is true, but the floating point
>>> representation of the two numbers should be different, no?
>>> Shouldn't the negative zero have the sign bit set? Well, on my
>>> machine -0.0 and 0.0 are bitwise equal!! What's going on here?
>>>
>>> thx,
>>>
>>>
>>> Andras
>>
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc. Do you grep through log
> files
> for problems? Stop! Download the new AJAX search engine that makes
> searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
> _______________________________________________
> Gamedevlists-general mailing list
> Gam...@li...
> https://lists.sourceforge.net/lists/listinfo/gamedevlists-general
> Archives:
> http://sourceforge.net/mailarchive/forum.php?forum_id=557
>
> ______________________________________________________________________
> This email has been scanned by the MessageLabs Email Security System.
> For more information please visit http://www.messagelabs.com/email
> ______________________________________________________________________
>
|