首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >除以零我能得到多近?

除以零我能得到多近?
EN

Stack Overflow用户
提问于 2013-08-14 14:20:02
回答 7查看 1.7K关注 0票数 0

我想避免除以零,所以我有一个if语句:

代码语言:javascript
运行
复制
float number;
//........
if (number > 0.000000000000001) 
  number = 1/number;

我可以安全地使用多小的值来代替0.000000000000001

EN

Stack Overflow用户

发布于 2013-08-14 16:22:45

对于数字类型,T std::numeric_limits提供您需要的任何东西。例如,您可以这样做,以确保min_invertible之上的任何内容都具有有限的倒数:

代码语言:javascript
运行
复制
float max_float = std::numeric_limits<float>::max(); 
float min_float = std::numeric_limits<float>::min(); // or denorm_min()
float min_invertible = (max_float*min_float > 1.0f )? min_float : 1.0f/max_float;
票数 3
EN
查看全部 7 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18234311

复制
相关文章

相似问题

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