问题标签 [numeric-limits]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1164 浏览

c - scanf 成功,但存储的值不适用于某些大浮点数

为以下代码输入大数字会导致scanf成功,尽管该值未正确存储。

输出:

所以我的问题是:

  1. 第一次扫描:为什么scanf扫描结果还是1,你可以看到值没有正确存储?

  2. 第二次扫描:为什么它会进行四舍五入,我该如何解决?

  3. 一般来说:通过 0 的数量,我们可以看到DBL_MAXFLT_MAX比我给出的输入要大得多。那么为什么它不能正确存储输入呢?

0 投票
1 回答
92 浏览

c++ - 为什么它不能正常工作,Numeric_limits

我有一个带有两个参数的函数,一个正在测试其元素的向量,以及一个我们输入为真或假的布尔变量。如果我们输入 true ,那么它应该隔离所有数字总和为偶数的元素并将其放置到一个新向量中(以它们出现的相同顺序)并返回该向量。假是相反的奇数。你只能使用我在这里已经使用过的东西,没有别的。

这就是它的外观。

这是它不起作用的主要功能之一:

这是我应该得到的(作为输出):

这就是我得到的:

由于某种原因,它要么忽略数字限制,要么不使用错误的向量对它们进行排序。我不知道为什么。在任何其他情况下,它都可以正常工作。也许它溢出了,但我看不到在哪里。

0 投票
2 回答
1384 浏览

c++ - val != std::numeric_limits::infinity() 或 !isinf(val) 或 isfinite(val)

这可能是自行车脱落,但也许我错过了一些有趣的东西......

如果一个类将一个成员初始化valstd::numeric_limits<double>::infinity()然后想要检查 val 是否已更改为有效的值(+/- inf 在这里无效),这三种方法的权衡是什么,我是否错过了任何其他有趣的方法来解决这个问题. (为了便于阅读,在示例中删除了 const。)

目前代码是 C++03,但随着 C++11、C++14 和 C++17 的变化,选项将如何变化。例如,对于 C++17,此代码可能只是std::optional<double> val. 或者如果 +/-inf 在未来变得有效,那么安静的 NaN 会是一个更安全的选择吗?

当我阅读此代码的此补丁时出现了这种情况:

为了方便参考:

排序相关:

0 投票
1 回答
729 浏览

c++ - 截断整数的好方法

我有一个函数,它被赋予一个缓冲区,该缓冲区接受填充到一定size_t长度;但是,填充它的实际调用需要一个int最大长度。

因此,如果参数不能适合整数,我希望将其截断为可以适合的最大值;因为无论如何我都无法获得更多数据。

我可以做这个

有什么不那么丑陋的方法吗?

0 投票
3 回答
96 浏览

c++ - 如何仅在 C++ 中使用户输入数字?

到目前为止,这是我的代码:

它工作正常,但我试图弄清楚如果用户输入任何不是数字的东西,如何让它循环。

当我按下一个字母或说出一个符号/符号时,密码就会中断。

0 投票
1 回答
2208 浏览

c++ - 和有什么区别c++中的头文件?

Limits 是 C++ 中的头文件,由numeric_limits类组成,而 climits 是头文件,仅包含各种数据类型的最小值和最大值。

可以在任何想要使用 climits 的地方使用限制,但是相反的情况是不正确的。

因此,建议何时使用 climits 以及何时使用限制?

0 投票
0 回答
729 浏览

c++ - INT_MAX 与 numeric_limits::最大限度()

在 C++ 中 numeric_limits::max() 是否优于 INT_MAX ?如果是这样,这是什么原因?在简单的情况下应该首选什么,比如在数组中查找最小和最大元素?

0 投票
2 回答
228 浏览

c++11 - 原子类型的 numeric_limits

假设 someAtomic 是一个 std::atomic 具有一个完整的基础类型,例如 atomic_uint16_t。我不想假设 WHICH 整数类型,但是,特别是代码,所以我想要一些东西来完成以下,现在不能编译:

看起来至少在 VC++2015 中没有针对原子类型的 numeric_limits 特化,即使它们的底层类型确实具有这样的特化。处理这个问题的最佳方法是什么?

0 投票
1 回答
2326 浏览

c++ - C++:为什么 numeric_limits 对它不知道的类型起作用?

我创建了自己的类型,没有任何比较器,也没有std::numeric_limits. 尽管如此,由于某种原因,std::numeric_limits<MyType>编译得很好。为什么 c++ 标准委员会将numeric_limits模板定义为对所有类型都有效,包括非数字类型?

下面的示例代码:

0 投票
1 回答
9789 浏览

c++ - std::numeric_limits 可以做什么::epsilon() 用于?

这是一个选择声明:

据我了解,判断语句与(或近似)相同

那么我是否正确以及std::numeric_limits<double>::epsilon()除此之外可以在哪里使用?