相关疑难解决方法(0)

Inf和NaN是如何实施的?

由于数学概念,我清楚地知道什么infnan实际上都是.但我真正感兴趣的是如何在编程语言中实现它们.

在Python中,我可以使用inf,并nan在算术和条件表达式,如下所示:

>>> nan = float('nan')
>>> inf = float('inf')
>>> 1 + inf
inf
>>> inf + inf
inf
>>> inf - inf
nan
Run Code Online (Sandbox Code Playgroud)

这将使我相信python内部对这两个数学量有一个特殊的保留位序列,没有其他数字可以假设这些位置.我的假设是否正确?能否请你在这方面给我启发?

如果我的假设是正确的,那么这可以很容易地解释:

>>> inf == inf
True
Run Code Online (Sandbox Code Playgroud)

但是,这不是:

>>> nan == nan
False
Run Code Online (Sandbox Code Playgroud)

显然,在数学中,这是正确的答案.但是python如何知道它应该False在这个实例中吐出来?

此外,python的实现与java或c ++的实现有何不同?

python nan infinity

11
推荐指数
2
解决办法
433
查看次数

标签 统计

infinity ×1

nan ×1

python ×1