28得票5回答
C++中的数字四舍五入

我正在尝试让我的程序分别向上和向下四舍五入一个数字。 例如,如果数字是3.6,那么我的程序应该将其四舍五入到最近的数字4,如果数字是3.4,则应将其舍入为3。 我尝试使用ceil库来获取3个项目的平均值。 results = ceil((marks1 + marks2 + marks3)...

25得票3回答
Template版本的std::abs

这里列出了C++中std::abs的当前重载。我想知道为什么不只定义以下模板,然后放弃所有丑陋的C风格重载呢? template <typename T> inline T abs(const T& v) { return v < 0 ? -v : v; }

24得票3回答
<Cmath>在C++14/C++11中是否隐藏了<math.h>中的isnan函数?

我这里有一个小测试应用程序,其中使用了&lt;math.h&gt;中的isnan: #include &lt;iostream&gt; #include &lt;math.h&gt; int main() { double d = NAN; std::cout &lt;&...

22得票4回答
为什么std::sin()和std::cos()比sin()和cos()慢?

测试代码:#include &lt;cmath&gt; #include &lt;cstdio&gt; const int N = 4096; const float PI = 3.1415926535897932384626; float cosine[N][N]; float sine...

22得票5回答
C/C++中最快的cmath log操作

我想要计算logab(需要返回浮点数结果而不是整数)。 我计划使用log(b)/log(a)来完成这个计算。 从数学上讲,我可以使用任何cmath对数函数(2、e或10为底)来进行此计算; 然而,在我的程序中,我将频繁运行这个计算,所以我想知道它们中的哪一个比其他函数更快(或者最好的情况是,是...

20得票1回答
std::numeric_limits::quiet_NaN()与std::nan()与NAN之间的区别 (注意:这是一个提问标题,不需要回答)

我对于C++的几种表示quiet NaN值的设施感到惊讶。我发现有三种标准方法: std::numeric_limits&lt;T&gt;::quiet_NaN() - 通用方式,我认为这是被选中的方式 std::nan、std::nanf、std::nanl - 一组接受const ch...

17得票1回答
std::abs(0u)是否不合法?

给定以下程序:#include &lt;cmath&gt; int main() { std::abs(0u) ; } gcc和clang在这个问题上存在分歧。使用gcc和libstdc++,代码可以正常编译且没有错误或警告(点击查看实例),但是使用clang和libc++,将会生成...

17得票5回答
如何修复“error: call to 'abs' is ambiguous”错误

我正在HackerRank上运行一个关于指针的简单C++程序,它在网站上正常运行。但是当我在MacOS上运行它时,出现了一个error: call to 'abs' is ambiguous错误,我不确定到底有什么不明确之处。 我已经查看了其他类似问题的答案,但错误消息通常是Ambiguou...

14得票14回答
如何解决在C++中,sin(M_PI)不等于0的问题?

在C++中,const double Pi = 3.14159265; cout &lt;&lt; sin(Pi); // displays: 3.58979e-009 它应该显示数字零。 我知道这是因为Pi被近似了,但是有没有办法让我在程序...

13得票3回答
在C语言中,tan(30)会返回一个负数!为什么?

我注意到我的cmath库中的tan(float)函数返回了一个负值。 当运行以下代码时: #include &lt;cmath&gt; .... // some calculation here gives me a value between 0.0 to 1.0....