IEEE 754 中 Infinity 的用例是啥
Posted
技术标签:
【中文标题】IEEE 754 中 Infinity 的用例是啥【英文标题】:What are the use cases for Infinity in IEEE 754IEEE 754 中 Infinity 的用例是什么 【发布时间】:2016-08-19 08:37:29 【问题描述】:我想知道Infinity
在IEEE-754
下的情况是什么?是在上溢(正无穷大)还是下溢(负无穷大)时使用?
【问题讨论】:
【参考方案1】:一些计算返回无穷大值,例如-1/0
和Math.log(0)
返回-Infinity
。
它们可以对称地用于计算输入,例如2/-Infinity
返回-0
。
当实际值太大而无法表示时,也会产生无穷大,例如Math.exp(999)
或Math.exp(709)+Math.exp(709)+Math.exp(709)
。
但是,当您需要一个大于(或小于)任何其他数字的数字时,或者当您想明确引用无穷大时,它们也可以使用。例如,我通常使用数值范围(区间),即 min, max
结构,当范围不受限制时,我使用无穷大,例如 -Infinity, 3.2
,在数学中可以记为 ]-∞, 3.2]
。
请注意,尽管 JS 生态系统中对无穷大的支持不是那么好。例如 JSON 通常不支持它们(但一些库在这方面有所帮助,例如 gson 或我自己的 parseMore)。
【讨论】:
谢谢,我的这个问题Is it used when overflow (positive infinity) or underflow (negative infinity) occurs
?
谢谢,你能在这里解释一下any other one
的意思吗但是当你需要一个比任何其他数字更大(或更低)的数字时,它们也会被使用, ?
@Maximus 假设您有一个定义了多个阈值的类,并且当某些传感器返回的值大于这些阈值 (if (value>speedThreshold) wakeMaster()
) 时,您必须发出警报。现在你不关心其中一个传感器,那么你只需设置speedThreshold=Infinity
。
谢谢,你把它设置为无穷大,这样在'if'比较中没有数字可以更大?以上是关于IEEE 754 中 Infinity 的用例是啥的主要内容,如果未能解决你的问题,请参考以下文章