kiw*_*kiw 6 c++ floating-point c++11
基本上我想从一堆值中搜索最小(正)值,并需要一个默认值来与第一个值进行比较.天真的假设是,他们总是比较"小于"(除了NaNs,但我们不考虑那些),但我不太确定.
我正在使用该float类型,我认为可以安全地假设我的目标硬件实现了无穷大值.
这是一些示例代码:
auto leastValue = std::numeric_limits<float>::infinity();
for (auto i = something.begin(), e = something.end(); i != e; ++i)
{
auto value = (*i)->GetValue();
if (value < leastValue)
{
leastValue = value;
}
}
Run Code Online (Sandbox Code Playgroud)
对于IEEE 754浮点数,除了NaN和无穷大,一切都小于无穷大.你有可能在你的平台上有那些.如果你是偏执狂,请检查numeric_limits<float>::is_iec559.如果您的平台碰巧不符合要求,请使用numeric_limits<float>::max(); 如果你的序列是非空的,它不会给你一个错误的结果.
| 归档时间: |
|
| 查看次数: |
8266 次 |
| 最近记录: |