首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HUGE_VALF与无穷大常数的差异

问HUGE_VALF与无穷大常数的差异
EN

Stack Overflow用户
提问于 2013-12-13 01:42:43
回答 1查看 1.8K关注 0票数 6

在OpenCL中,有两个表示无穷大的浮点数学常数。其中之一就是简单的INFINITY。另一个,HUGE_VALF,“计算为”无穷大。

这两者有什么区别呢?“评估到”无限是什么意思?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-13 14:07:18

HUGE_VALF是一个遗留的名称,允许浮点系统不支持无穷大。例如,C标准指定在某些溢出情况下返回HUGE_VALF。当C实现不支持无穷大时,HUGE_VALF将是最大的可表示值。当实现支持无穷大时,HUGE_VALF将是无穷大。C标准仍然允许这样做,我认为有些实现仍然不支持无穷大。

OpenCL使用IEEE754(或多或少),所以它确实有无穷大,所以HUGE_VALF是无穷大的。通过定义HUGE_VALF,OpenCL帮助支持将旧C代码移植到OpenCL。

关于“HUGE_VALF计算为+无穷大”的措辞,但INFINITY是“浮点数类型的常量表达式,表示正无穷大或无符号无穷大”,我想知道这是否是为了允许在运行时准备HUGE_VALF (例如,将其表示为1./0.)。然而,文档也说HUGE_VALF是“一个正浮点常量表达式”。总的来说,这让我觉得措辞有点草率,而且HUGE_VALF和INFINITY是等价的。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20557691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档