Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

on computers you can have negative zeros


Negative zero is equal to zero, so it's not really a distinct number, just another representation of the same value.


It's equal (as in, comparing them with == is true), but they are not the same value. At least in IEEE 754 floats, which is what most languages with floating point numbers use. E.g., in JS:

  > 1 / 0
  Infinity
  > 1 / -0
  -Infinity
  > 0 === -0
  true
  > Object.is(0, -0)
  false


I think you're misunderstanding me. They are the same value, but a different representation. The equivalence of the value can be shown with math, and has nothing to do with the implementation details of IEEE 754.


Yes.

In a language like C or Rust, you can cast your +0.0 and -0.0 to an integer, and print out the bit pattern. They are different.


-0 is a notation for 1 / -infinity, so it is distinct. For addition it is not.


that's really just an encoding of the number to help you understand how the hell you got here




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: