检查 C++ 中的 double(或 float)是否为 NaN

2023-12-05

有 isnan() 函数吗?

PS:我在MinGW(如果这有影响的话)。

我通过使用 isnan() 解决了这个问题<math.h>,它不存在于<cmath>,我就是#include一开始。


根据 IEEE 标准,NaN 值具有奇怪的属性,涉及它们的比较是always错误的。也就是说,对于浮点数 f,f != f将会是真的only如果 f 是 NaN。

请注意,正如下面的一些评论所指出的那样,并非所有编译器在优化代码时都尊重这一点。

对于任何声称使用 IEEE 浮点的编译器,这个技巧should工作。但我不能保证它will在实践中工作。如有疑问,请咨询您的编译器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检查 C++ 中的 double(或 float)是否为 NaN 的相关文章

  • 删除文件的最后 10 个字符

    我想删除文件的最后 10 个字符 说一个字符串 hello i am a c learner 是文件内的数据 我只是希望该文件是 hello i am a 文件的最后 10 个字符 即字符串 c learner 应在文件内消除 解决方案 将
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 需要帮助优化算法 - 两百万以下所有素数的总和

    我正在尝试做一个欧拉计划 http projecteuler net问题 我正在寻找 2 000 000 以下所有素数的总和 这就是我所拥有的 int main int argc char argv unsigned long int su
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • 实例化类时重写虚拟方法

    我有一个带有一些虚函数的类 让我们假设这是其中之一 public class AClassWhatever protected virtual string DoAThingToAString string inputString retu
  • C 编程:带有数组的函数

    我正在尝试编写一个函数 该函数查找行为 4 列为 4 的二维数组中的最大值 其中二维数组填充有用户输入 我知道我的主要错误是函数中的数组 但我不确定它是什么 如果有人能够找到我出错的地方而不是编写新代码 我将不胜感激 除非我刚去南方 我的尝
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • 有没有办法让 doxygen 自动处理未记录的 C 代码?

    通常它会忽略未记录的 C 文件 但我想测试 Callgraph 功能 例如 您知道在不更改 C 文件的情况下解决此问题的方法吗 设置变量EXTRACT ALL YES在你的 Doxyfile 中
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • C++ 中的 include 和 using 命名空间

    用于使用cout 我需要指定两者 include
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • DotNetZip:如何提取文件,但忽略zip文件中的路径?

    尝试将文件提取到给定文件夹 忽略 zip 文件中的路径 但似乎没有办法 考虑到其中实现的所有其他好东西 这似乎是一个相当基本的要求 我缺少什么 代码是 using Ionic Zip ZipFile zf Ionic Zip ZipFile
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • 在ios 3des加密中包含很多空终止。当我将 NSData 转换为 NSString 时,它最终会出现第一个空终止吗?

    我已经使用这个函数进行 3des 加密 ccStatus CCCrypt kCCEncrypt CCoperation op kCCAlgorithm3DES CCAlgorithm alg kCCOptionPKCS7Padding kC
  • 在多个页面中使用 KnockoutJS

    我刚刚开始学习 KnockoutJS 我感到困惑的一件事是 这些示例似乎都集中在具有单个视图模型的单个视图上 更大的应用程序如何工作 我将编写一个纯 html jquery 应用程序 所有数据均通过 ajax 以 json 形式提供 应用程
  • 阻止用户以特定权限级别登录,然后显示警报让他们知道原因

    我正在尝试找出如何阻止用户登录我的网站 除非他们超过了特定的权限级别 我正在公开我的网站 一旦有人注册 他们就会获得许可级别 工作台 一旦我接受用户并更改权限级别 他们就可以登录 我阻止 替补 权限级别用户的方法是重定向到索引页面 他们登录
  • 包含所有特殊字符的正则表达式模式

    我想编写一个简单的正则表达式来检查给定字符串中是否存在任何特殊字符 我的正则表达式有效 但我不知道为什么它还包含所有数字 因此当我输入某些数字时它会返回错误 My code pattern to find if there is any s
  • 我必须如何配置 RMI 环境才能在“真实”网络中使用它?

    因为我不想为基于客户端 服务器的应用程序实现通信协议 所以我在两侧实现了 RMI 客户端和 RMI 服务器 以实现两个组件之间的信息交换 如果我尝试通过在同一台计算机上启动两个组件来使用我的应用程序 则一切正常 但是 如果我将组件拆分到两台
  • 写入文件 | Swi-Prolog |视窗

    某些脚本在 linux 系统上通过 swi prolog 5 11 11 运行成功 但在 Windows 系统上通过 Swi Prolog 5 6 48 运行得不太好 main open output txt write OS elemen
  • C# 泛型约束:结构数组

    我想创建一个通用约束 其中包含作为值类型 结构 数组的类型 例如 public class X
  • 如何像 Java 那样获取自 1970 年以来的当前时间戳(以毫秒为单位)

    在Java中 我们可以使用System currentTimeMillis 获取自纪元时间以来的当前时间戳 以毫秒为单位 即 当前时间与当前时间之间的差异 以毫秒为单位 世界标准时间 1970 年 1 月 1 日午夜 在C 中如何得到同样的
  • 如何截断 MySQL 数据库中的所有表?

    有没有办法在不使用 SQL 以外的任何其他语言的情况下截断特定 MySQL 数据库名称的所有表 我的意思是没有 Linux shell 脚本 为什么 因为它可以在 Windows MacOSX 和 Linux 服务器上运行 问题是客户端从控
  • 当从 Java 剪贴板对象中检索为图像时,来自 Outlook 的剪贴板副本始终设置为黑色背景

    以下是申请步骤 从 html 电子邮件或网站复制一些富文本 文本 图像的组合 在您的java代码中检索从剪贴板对象复制的内容作为BufferredImage 将检索到的图像对象保存为磁盘上的图像文件 您会注意到 在保存的文件中 图像效果很好
  • 为什么我的 win32 程序需要提升?

    我有一个非常简单的程序 用于自动更新 它检查服务器 HTTPS 上的可用版本 下载新更新并运行 可能更新的 程序 这是一个用Delphi 7编写的旧程序 在Windows 8和Windows 10下 这个程序似乎需要提升 以管理员身份运行
  • Rust 中 PhantomData 类型的使用

    我正在查看一些 Rust 源代码 发现了一种名为PhantomData 我正在浏览 Rust 文档并在互联网上进行了大量搜索 但是 我无法理解这种数据类型与 Rust 的实际用途 如果可能的话 有人可以简单地向我解释一下吗 pub stru
  • 日期倒计时器

    我正在尝试进行迄今为止的倒计时 并将每个倒计时放在 ListView 中的 ItemView 中 我已经有了Listview buillder 但我不知道如何制作具有不同值的倒计时并将它们放入列表视图中 我看到还有另一个类似的问题 但我无法
  • 粘性页脚,但只是有时

    我有一个带有页眉 内容 页脚的基本网站 我正在寻找一种设计页脚样式的方法 以便根据屏幕分辨率 如果内容没有填充页面 它会粘在底部 但如果内容溢出 它会将页脚向下推 必须滚动浏览器查看页脚 div div div div div ul li
  • “复制”不会创建动态数组的独立副本

    参考位于以下位置的在线文档http docwiki embarcadero com RADStudio XE6 en Structured Types Dynamic Arrays 写得很清楚 要制作动态数组的独立副本 请使用 Copy 函
  • 使用 ajax 请求安全地发送密码

    只是想知道 是否可以通过 Ajax 请求安全地发送密码 我有一个登录框 它调用 ajax 请求来尝试登录 通过并检索有错误的 JSON 对象 如果有 我应该使用表单重定向吗 EDIT 将加密的密码存储在数据库中并不是解决方案 因为ajax发
  • 替换由另一个矩阵索引的矩阵元素

    经过几个小时的搜索 我正在寻求您的专业知识 R 初学者 我尝试加快我的代码速度 我的目标是替换矩阵中的值A 但是 我想根据另一个矩阵的两个向量替换值B B 1 是行的名称i矩阵的A 第二栏 B 2 对应矩阵的列名A 我的代码的第一个版本是在
  • 如何在 jQuery 中获取当前日期?

    我想知道如何使用 jQuery 中的 Date 函数来获取当前日期yyyy mm dd format Date 不属于jQuery 它是 JavaScript 的特性之一 See Date 对象的文档 你可以这样做 var d new Da
  • IKVM 的 Map.xml 中的字符串和复杂数据类型!

    我正在使用 IKVM 将 java jar 文件转换为 NET dll 文件 我可以从整数类型的 getter 和 setter 创建一个属性 但我无法在 java 代码中对字符串数据类型执行此操作 您能告诉我 IKVM 的字符串或复杂数据
  • 检查 C++ 中的 double(或 float)是否为 NaN

    有 isnan 函数吗 PS 我在MinGW 如果这有影响的话 我通过使用 isnan 解决了这个问题