特殊的浮点值

简介: 在编程中,特殊浮点值包括正无穷 (`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 (半精度, 16位), Float32 (单精度, 32位) 和 Float64 (双精度, 64位) 浮点类型,以及复数和有理数。浮点字面量可使用E表示科学记数法,如 `1.0e10` 或 `-1.23E+8`。点号可选,`1.` 等同于 `1.0`。
特殊的浮点值
在浮点数标准中,定义了三种特殊值:正无穷(如`Inf16`, `Inf32`, `Inf64`),表示大于所有有限浮点数;负无穷(如 `-Inf16`, `-Inf32`, `-Inf`),表示小于所有有限浮点数;以及非数字`NaN`(如`NaN16`, `NaN32`, `NaN`),它与任何浮点数都不相等,包括自身。这些特殊值在进行算术运算时会表现出特定的行为,例如`1/0`会产生正无穷,而`0/0`则产生`NaN`。此外,通过`typemin`和`typemax`函数可以查询浮点类型的最小和最大值,分别是负无穷和正无穷。
|
分布式计算 DataWorks 测试技术
一分钟“零代码”生成API,DataWorks数据服务快速上手指南
DataWorks数据服务提供了快速生成API的能力,可以一分钟“零代码”生成API,本文是一篇快速上手指南,帮助你快速认识数据服务。
11282 0
|
3月前
|
XML 存储 安全
软件体系结构 - 需求规格说明书
软件体系结构 - 需求规格说明书
256 0
|
3月前
|
敏捷开发 数据管理 测试技术
深入探索软件测试:方法、挑战与最佳实践
【2月更文挑战第20天】 在数字化时代,软件已成为不可或缺的核心。确保软件的质量和可靠性,软件测试扮演着至关重要的角色。本文将深入探讨软件测试的各种方法,面临的挑战以及实施的最佳实践。我们将从单元测试的基础出发,逐步过渡到集成和系统测试,最后讨论自动化测试的策略。文章旨在为软件测试工程师提供深度洞见,帮助他们更有效地设计和执行测试计划,以确保软件产品的质量。
|
缓存 监控 网络协议
2022年最受工程师欢迎的10款抓包工具有哪些?不止Wireshark和Tcpdump哦!
网络嗅探器在日常工作中经常使用,通常情况下,我们叫做“抓包工具”,不管是软件开发、还是网络工程师,抓包解决一些问题已经称为最正常不过的操作。
1167 0
2022年最受工程师欢迎的10款抓包工具有哪些?不止Wireshark和Tcpdump哦!
|
开发工具 git
【git】Git下载镜像
Git下载镜像,内含下载链接
|
存储 SQL 分布式计算
Lakehouse 架构解析与云上实践
本文整理自 DataFunCon 2021大会上,阿里云数据湖构建云产品研发陈鑫伟的分享,主要介绍了 Lakehouse 的架构解析与云上实践。
Lakehouse 架构解析与云上实践
|
存储 消息中间件 分布式计算
技术干货| 阿里云基于Hudi构建Lakehouse实践探索「内附干货PPT下载渠道」
阿里云高级技术专家王烨(萌豆)在Apache Hudi 与 Apache Pulsar 联合 Meetup 杭州站上的演讲整理稿件,本议题介绍了阿里云如何使用 Hudi 和 OSS 对象存储构建 Lakehouse,为大家分享了什么是 Lakehouse,阿里云数据库 OLAP 团队如何构建 Lakehouse,也介绍了在构建 Lakehouse 时遇到的问题和挑战,以及如何解决这些问题和挑战。
2036 0
技术干货| 阿里云基于Hudi构建Lakehouse实践探索「内附干货PPT下载渠道」