Функция ldexp
Функция ldexp выполняет умножение числа
с плавающей точкой на целую степень двойки.
В первый параметр мы передаем само число,
которое нужно умножить, а во второй - целое
число, представляющее степень двойки.
Фактически функция вычисляет значение по формуле:
x * 2^exp. Она часто используется в паре
с функцией frexp для разбора и сборки
чисел с плавающей точкой.
Синтаксис
#include <cmath>
double ldexp(double x, int exp);
float ldexp(float x, int exp);
long double ldexp(long double x, int exp);
Пример
Давайте умножим число 1.5 на 2
в степени 3 (то есть на 8)
и выведем результат:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double res = ldexp(1.5, 3);
cout << res << endl;
return 0;
}
Результат выполнения кода:
12
Пример
Давайте проверим работу функции с отрицательной
степенью. Умножим число 5.0 на 2
в степени -2 (то есть разделим на 4):
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double res = ldexp(5.0, -2);
cout << res << endl;
return 0;
}
Результат выполнения кода:
1.25