在IEEE 754和JavaScript中,0和-0如何表示不同?

时间:2014-01-01 10:10:43

标签: javascript ieee-754

我很好奇,即使是0 === -0,但1/01/-0给出了不同的结果。因此,我们可以假设{75}中0-0的表示方式不同。它们是如何表示的?

更新:到目前为止,我可以在https://en.wikipedia.org/wiki/Signed_zero上找到一些信息

似乎有IEEE 754-1985和IEEE 754-2008,其中一种形式可能是二进制:

0 00000000 00000000000000000000000  as positive 0
1 00000000 00000000000000000000000  as negative 0

(上面是32位,最左边是符号位,然后是右边,8位是指数,然后是23位作为有效位)。但我找不到1985年和2008年版本之间的差异。

1 个答案:

答案 0 :(得分:1)

请参阅:

IEEE 754-1985 on Wikipedia

IEEE 754-2008 on Wikipedia

有关更改,请参阅the "IEEE 754 revision" page on Wikipedia

1985和2008版本都使用签名零。 它们表示为:

  

sign = 0表示正零,1表示负零。

     

偏向指数= 0.

     

分数= 0。

(正如你在问题中写的那样)

编辑:在1985和2008版本中,1/0 = 无穷大,而1 / -0 = 负无穷大