特殊的浮点值

简介: 在浮点数标准中,定义了三种特殊值:正无穷(如`Inf16`, `Inf32`, `Inf64`),表示大于所有有限浮点数;负无穷(如 `-Inf16`, `-Inf32`, `-Inf`),表示小于所有有限浮点数;以及非数字`NaN`(如`NaN16`, `NaN32`, `NaN`),它与任何浮点数都不相等,包括自身。这些特殊值在进行算术运算时会表现出特定的行为,例如`1/0`会产生正无穷,而`0/0`则产生`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)

相关文章
|
16小时前
特殊的浮点值
特殊的浮点值
|
5月前
|
关系型数据库 分布式数据库 数据库
阿里云瑶池数据库训练营权益:PolarDB开发者大会主题资料开放下载!
阿里云瑶池数据库训练营权益:PolarDB开发者大会主题资料开放下载!
使用推导式和生成器创建数组
这是一种利用推导式和生成器创建数组的方法。推导式的格式为 A = [F(x,y,...) for x=rx, y=ry, ...] ,它会对给定列表中的每个变量值计算 F(x,y,...),并返回一个N维的密集数组。例如: `[n^2 for n in 1:10]` 将创建一个包含1到10的平方的数组。此外,还可以创建多维数组,如 `[n*m for n in 1:10, m in 1:10]` 。如果省略方括号,则会生成一个生成器对象,该对象可以在不分配内存的情况下处理大型数据集,例如 `sum(1/n^2 for n=1:1000)`。
|
5月前
|
弹性计算 Linux Windows
【阿里云幻兽帕鲁】搭建 密码 存档 使用 费用 常见问题合集
幻兽帕鲁作为一款爆火的游戏,在进行多人游戏时,需要搭建服务器。本文章汇总了在阿里云上搭建幻兽帕鲁服务器时可能会遇到部署问题、配置选择问题、运行问题等,以便用户快速参考和解决搭建和运行中的挑战。
15503 18
【阿里云幻兽帕鲁】搭建 密码 存档 使用 费用 常见问题合集
特殊的浮点值
在浮点数标准中,定义了三种特殊值:正无穷(如`Inf16`, `Inf32`, `Inf64`),表示大于所有有限浮点数;负无穷(如 `-Inf16`, `-Inf32`, `-Inf`),表示小于所有有限浮点数;以及非数字`NaN`(如`NaN16`, `NaN32`, `NaN`),它与任何浮点数都不相等,包括自身。这些特殊值在进行算术运算时会表现出特定的行为,例如`1/0`会产生正无穷,而`0/0`则产生`NaN`。此外,通过`typemin`和`typemax`函数可以查询浮点类型的最小和最大值,分别是负无穷和正无穷。
|
5月前
|
存储 关系型数据库 MySQL
PolarDB-X 存储引擎核心技术 | 索引回表优化
数据库系统为了高效地存储、检索和维护数据,采用了多种不同的数据组织结构。不同的组织结构有其特定的用途和优化点,比如提高查询速度、优化写入性能、减少存储空间等,目前 PolarDB-X 采用了 B-Tree 的索引组织结构。
|
5月前
|
关系型数据库 分布式数据库 数据库
PolarDB-X助攻《香肠派对》百亿好友关系实现毫秒级查询
云原生数据库PolarDB分布式版(PolarDB for Xscale,简称PolarDB-X)有极强的线性扩展能力,能够多写多读;它的全局索引能力,是分布式改造的利器,成功解决了传统分布式方案中多维度查询的难题,在《香肠派对》的好友系统上,实现了百亿好友关系20万QPS的毫秒级查询。
PolarDB-X助攻《香肠派对》百亿好友关系实现毫秒级查询
使用推导式和生成器创建数组
这是一种利用推导式和生成器创建数组的方法。数组推导遵循这样的格式:A = [F(x,y,...) for x=rx, y=ry, ...],通过迭代变量并计算F来构建多维数组。例如,[n^2 for n in 1:10] 创建包含1到10平方的向量。若省略方括号,则生成一个生成器而非直接生成数组,适用于处理大型数据集而无需一次性分配大量内存。例如,sum(1/n^2 for n=1:1000) 在不分配额外内存的情况下计算序列之和。
元组作为函数参数
此示例展示了如何在Julia语言中将元组作为参数传递给函数。示例中的`testFunc`函数接受三个必填参数x、y和z及可选参数a、b、c。元组`options`被定义并传递给`testFunc`。通过在参数列表末尾使用&quot;...&quot;操作符,元组的元素可以作为关键字参数展开。如果另有相同名称的参数被显式指定,在元组前面指定的参数不会覆盖元组中的值,在元组后面指定的则会覆盖。
|
2月前
|
存储 SQL 数据处理
数据库模式(Schema)
数据库模式,即逻辑模式,描述了数据库数据的整体逻辑结构与特性,为所有用户提供统一的数据视图。一个数据库仅有一个模式,基于某种数据模型构建,并通过DDL定义数据结构、安全性和完整性要求。外模式,作为子模式或用户模式,提供用户可见的局部数据逻辑视图,确保数据安全性,允许数据库具有多个面向不同应用的视图。内模式或存储模式,则具体规定了数据的物理存储结构和方式,包括存储类型、索引组织及数据处理细节。