我有一个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";