[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Why do some math functions return -0
- From: KHMan <keinhong@...>
- Date: Mon, 20 Sep 2010 09:56:38 +0800
On 9/20/2010 4:45 AM, HyperHacker wrote:
On Sun, Sep 19, 2010 at 13:49, David Kastrup wrote:
Negative zero is an artifact of how some systems implement some
floating-point operations. Unlike integers, floating-point values have
a sign bit. Some systems won't clear the sign when the result is zero,
hence -0. It should function identically to zero in all operations,
including comparing to zero. I can't confirm that it does, as I can't
seem to generate one.
Note that a number displayed as -0.0000 could also be a very small
negative number rounded to fit the display, e.g.:
%f rounds to six places by default. This is the proper meaning of
negative zero - a negative value that rounded to zero.
It'd probably save you a lot of headache in the future to read up on
how floating-point works, as it has a lot of potential pitfalls.
This is the kind of unnecessary noise that I am talking about.
Mike, the OP, knows what he's doing. He has code and data samples
to provide to the list.
When someone displays good problem-solving behaviour, engaging in
hand-waving generalities is generally a waste of time. There is
already enough information to enable us to study the issue in some
The equations in the code would rule out small negative numbers,
no need to dawdle on that. The "Negative zero is an artifact" is
also a waste of time -- you can't seem to generate one, but you
speculate about what perhaps can generally happen. Such
information is not really of much use to us. If we want to build
reliable software, we must do better than that.
When we have a specific problem and data is available, let's try
to focus on the problem at hand. Discussing information pertinent
and specific to the problem at hand can help eliminate potential
Anyone can engage in hand-waving, but let's not go overboard with
it. Having a dozen hand-wavers here, I think, will not help solve
anything at all. Just because we can wave our hands, doesn't mean
we should do it all the time.
I am interested in a firm diagnosis of the issue. I hope Mike can
enlighten the list when he is able to get to the bottom of this.
[Sent from my lawn. Ha ha... :-)]
Kein-Hong Man (esq.)
Kuala Lumpur, Malaysia