【问题标题】:In IEEE 754 and JavaScript, how is 0 and -0 represented differently?在 IEEE 754 和 JavaScript 中,0 和 -0 的表示方式有何不同?
【发布时间】:2014-01-01 10:10:43
【问题描述】:

我很好奇,即使是0 === -0,但1/01/-0 给出不同的结果。所以我们大概可以假设 0-0 在 IEEE 754 中的表示方式不同。它们是如何表示的?

更新:到目前为止,我可以在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 版本之间的区别。

【问题讨论】:

  • Wikpiedia 没有帮助?
  • 在 71kb 的维基百科文章中,我搜索了 -0,但没有找到任何东西。我不认为可以在 Internet 或 Wikipedia 上找到某些东西,所以这不是 SO 上的问题

标签: javascript ieee-754


【解决方案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 = 负无穷大

【讨论】:

  • 我已为您添加了第三个链接(但在我的编辑经过同行评审之前它不会显示)。
  • 你从哪里得到 1865 的数字?
  • 这叫错字=)(对不起)
猜你喜欢
  • 2013-11-30
  • 2012-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多