El ldexp() es una función integrada en C/C++ que da el producto de cualquier variable x y 2 elevada a la potencia de exp tomando dos argumentos x y exp, es decir, x * 2^exp
Sintaxis:
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)
Parámetro: La función acepta dos parámetros obligatorios x y exp que especifican las dos variables descritas en la definición.
Valor devuelto: la función devuelve el valor de la expresión x * 2^exp . Devuelve un valor de tipo long double, float o double.
Los siguientes programas ilustran la función anterior.
Programa 1:
// C++ program to illustrate the // ldexp() function #include <bits/stdc++.h> using namespace std; int main() { double x = 6, result; int exp = 2; // It returns x*(2^exp) result = ldexp(x, exp); // print the result cout << "ldexp(x, exp) = " << result << endl; return 0; }
ldexp(x, exp) = 24
Programa 2:
// C++ program to illustrate the // ldexp() function #include <bits/stdc++.h> using namespace std; int main() { double result; int x = 20, exp = 9; // It returns x*(2^exp) result = ldexp(x, exp); // prints the result cout << "ldexp(x, exp) = " << result << endl; return 0; }
ldexp(x, exp) = 10240
Errores y excepciones: si la magnitud del resultado es demasiado grande para ser representada por un valor del tipo de retorno, la función devuelve HUGE_VAL (o HUGE_VALF o HUGE_VALL) con el signo adecuado y se produce un error de rango de desbordamiento .
Los siguientes programas ilustran el error anterior.
// C++ program to illustrate the // ldexp() function #include <bits/stdc++.h> using namespace std; int main() { double result; int x = 20, exp = 10000; // It returns x*(2^exp) result = ldexp(x, exp); // prints the result cout << "ldexp(x, exp) = " << result << endl; return 0; }
ldexp(x, exp) = inf
Publicación traducida automáticamente
Artículo escrito por AmanSrivastava1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA