Re: ieee754 -0.0f?
"Andras Balogh" <[email protected]> Wed, 01 Feb 2006 10:50:53 -0700
| Newsgroups | gmane.games.devel.general |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/gamedevlists-general
Archives:
http://sourceforge.net/mailarchive/forum.php?forum_id=557