特殊的浮点值

简介: 在编程中,特殊浮点值包括正无穷 (`Inf`)、负无穷 (`-Inf`) 和非数字 (`NaN`),它们不对应实数轴上的点。`Inf` 比所有有限浮点数大,`-Inf` 比所有有限浮点数小,`NaN` 与任何值(包括自身)都不相等。例如,除以零可产生这些值:`1/0` 是 `Inf`,`0/0` 是 `NaN`。浮点运算如 `Inf + Inf` 仍为 `Inf`,但 `Inf / Inf` 是 `NaN`。`typemin` 和 `typemax` 函数用于获取各浮点类型的最大和最小值,

特殊的浮点值

有三种特定的标准浮点值不和实数轴上任何一点对应:

Float16 Float32 Float64 名称 描述
Inf16 Inf32 Inf 正无穷 一个大于所有有限浮点数的数
-Inf16 -Inf32 -Inf 负无穷 一个小于所有有限浮点数的数
NaN16 NaN32 NaN 不是一个数 一个不和任何浮点值(包括自己)相等(==)的值
以下列举了一些浮点数的运算实例:

实例
julia> 1/Inf
0.0

julia> 1/0
Inf

julia> -5/0
-Inf

julia> 0.000001/0
Inf

julia> 0/0
NaN

julia> 500 + Inf
Inf

julia> 500 - Inf
-Inf

julia> Inf + Inf
Inf

julia> Inf - Inf
NaN

julia> Inf * Inf
Inf

julia> Inf / Inf
NaN

julia> 0 * Inf
NaN

julia> NaN == NaN
false

julia> NaN != NaN
true

julia> NaN < NaN
false

julia> NaN > NaN
false
我们还可以使用 typemin 和 typemax 函数:

实例
julia> (typemin(Float16),typemax(Float16))
(-Inf16, Inf16)

julia> (typemin(Float32),typemax(Float32))
(-Inf32, Inf32)

julia> (typemin(Float64),typemax(Float64))
(-Inf, Inf)

相关文章
浮点类型
Julia 支持 Float16, Float32, 和 Float64 浮点类型,分别对应半、单、双精度,以及复数和有理数。数字可写作 1.0, 1., 0.5, .5, -1.23 或科学记数法如 1e10, 2.5e-4。E 表示指数。
特殊的浮点值
特殊浮点值包括正负无穷(Inf16/Inf32/Inf)和NaN(NaN16/NaN32/NaN),它们不对应实数轴上的点。无穷大比所有有限浮点数大,负无穷则小。除以零可得到这些值,如`1/0`是正无穷,`0/0`是NaN。NaN不等于自身,比较操作在NaN上始终返回false。可以使用`typemin`和`typemax`函数获取各浮点类型的最大最小值。
|
6月前
|
SQL 关系型数据库 MySQL
7. 数值函数
7. 数值函数
|
6月前
|
存储 算法 Java
数值问题
数值问题
81 1
|
6月前
|
存储
整数类型
整数类型。
54 0
|
存储 关系型数据库 MySQL
列的类型定义——浮点类型和定点数类型
前言 数据表中用浮点数类型和定点数类型来表示小数。浮点数类型包括单精度浮点数(FLOAT型)和双精度浮点数(DOUBLE型)。定点数类型就是DECIMAL型。下面从这三种类型的字节数、取值范围等方面进行对比,如下表所示。
|
存储 编译器 程序员
4.整数类型(下)
4.整数类型
80 0
|
存储 编译器 程序员
4.整数类型(上)
4.整数类型
181 0
|
开发者 索引 Python
数值运算
快速学习数值运算
数值运算
|
Go Python
Go-数字与布尔类型详解(整型、浮点型、科学计数法等)
Go-数字与布尔类型详解(整型、浮点型、科学计数法等)
295 0
Go-数字与布尔类型详解(整型、浮点型、科学计数法等)