【发布时间】:2009-05-03 16:59:10
【问题描述】:
我有一个 C++ 应用程序,我需要在其中比较两个值并确定哪个更大。唯一的复杂之处是一个数字在日志空间中表示,另一个则不是。例如:
double log_num_1 = log(1.23);
double num_2 = 1.24;
如果我想比较num_1 和num_2,我必须使用log() 或exp(),我想知道一个是否比另一个更容易计算(即运行时间更短,一般来说)。你可以假设我使用的是标准的cmath 库。
换句话说,以下在语义上是等价的,所以哪个更快:
if(exp(log_num_1) > num_2)) cout << "num_1 is greater";
或
if(log_num_1 > log(num_2)) cout << "num_1 is greater";
【问题讨论】:
-
你为什么不写一些测试并发布你的结果呢? :)
标签: c++ math performance