Julia语言程序设计
上QQ阅读APP看书,第一时间看更新

3.3.5 非数值

基于浮点数的计算中,往往会出现无效的浮点值。这样的事物不是任何浮点数,但我们又需要标记它的存在,这种情况在大规模数据操作中经常会遇到。为了应对这种情况,Julia另外定义了一组特殊的浮点值常量,即“非数值(Not-a-Number)”。

定义的三种浮点类型(即Float16、Float32及Float64)对应的“非数值”分别是NaN16、NaN32及NaN64(在64位系统中等价于NaN)。

可用isnan()来检验一个变量或数值是否为“非数值”,例如:


julia> isnan(10)
false

julia> isnan(-NaN)
true

julia> isnan(NaN16)
true

为了叙述方便,后文涉及“非数值”这类特殊浮点值时,均以NaN指代。