开发者社区> 问答> 正文

怎样测试 IEEE NaN 以及其它特殊值?

怎样测试 IEEE NaN 以及其它特殊值?

展开
收起
游客py5kcp7dd6tu6 2022-03-29 21:34:52 389 0
1 条回答
写回答
取消 提交回答
  • 许多实现高质量 IEEE 浮点的系统会提供简洁的工具去处理这些特殊值。例如, 在 <math.h> 以非标准扩展功能, 或可能以 <ieee.h> 或 <nan.h> 提供预定义常数, 及象 isnan() 这类的函数。这些工具的 标准化进程正在进行中。 一个粗陋但通常有效的测试 NaN 的方法: #define isnan(x) ((x) != (x)) 虽然一些不支持 IEEE 的编译器可能会把这个判断优化掉。 C99 提供 isnan(), fpclassify() 及其它一些类别的例程。

    必要时, 还可以用 sprintf() 格式化需测试的值, 在许多系统上, 它会 产生 NaN" 或Inf" 的字符串。你就可以比较了。

    2022-03-29 21:35:29
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
移动互联网测试到质量的转变 立即下载
给ITer的技术实战进阶课-阿里CIO学院独家教材(四) 立即下载
F2etest — 多浏览器兼容性测试整体解决方案 立即下载