C / C ++中的ldexp()函数

在这里,我们将看到在C或C ++中ldexp()方法的用途是什么。该函数将任何x提升返回到exp的幂次方。这需要两个参数x和exp。

语法如下。

float ldexp (float x, int exp)
double ldexp (double x, int exp)
long double ldexp (long double x, int exp)
double ldexp (T x, int exp)

现在让我们看一个例子,以获得更好的想法。

示例

#include <iostream>
#include <cmath>
using namespace std;
int main() {
   double a = 10, res;
   int exp = 2;
   res = ldexp(a, exp); // Finds a*(2^exp)
   cout << "The result is = " << res << endl;
}

输出结果

The result is = 40

现在,让我们看看此函数可能会产生一些错误。如果返回值太大而无法表示,则此函数将返回HUGE_VAL。

让我们来看一个例子。

示例

#include <iostream>
#include <cmath>
using namespace std;
int main() {
   double a = 10, res;
   int exp = 5000;
   res = ldexp(a, exp); // Finds a*(2^exp)
   cout << "The result is = " << res << endl;
}

输出结果

The result is = inf