相关疑难解决方法(0)

+0和-0是否相同?

阅读ECMAScript 5.1规范,+0-0进行区分.

为什么然后+0 === -0评估true

javascript

163
推荐指数
5
解决办法
4万
查看次数

为什么IEEE754标准中的除零导致无限值?

我只是好奇,为什么在IEEE-754任何非零浮点数除以零时会产生无穷大的值?从数学角度来看,这是无稽之谈.所以我认为这个操作的正确结果是NaN.

如果x是实数,则当x = 0时,不定义函数f(x)= 1/x.例如,如果IEEE-754生成NaN值,则不为任何负数定义函数sqrt,并为sqrt(-1.0f)定义函数sqrt .但1.0f/0是Inf.

但由于某些原因,事实并非如此IEEE-754.必须有一个原因,可能是一些优化或兼容性原因.

那有什么意义呢?

language-agnostic floating-point ieee-754

41
推荐指数
3
解决办法
7771
查看次数

区分+0和-0

事实证明,+0 === -0计算结果为true,尽管+0-0不同的实体.那么,你如何区分+0-0

有一个黑客:

if (1 / myZero > 0) {
   // myZero is +0
} else {
   // myZero is -0
}
Run Code Online (Sandbox Code Playgroud)

我可以做得更好吗?

javascript

36
推荐指数
3
解决办法
2957
查看次数

为什么Infinity-Infinity NaN?

我坚持下面提到的这种特殊情况.有人可以向我解释下列行为的原因是什么.

Infinity - Infinity结果为何NaN, but NaN === (Infinity-Infinity)结果false如何?

javascript

-1
推荐指数
1
解决办法
692
查看次数