Умножить число с плавающей точкой на целую степень 2
#include <math.h>double ldexp( double x,int exp );float ldexp( float x,int exp );long double ldexpl( long double x,int exp );
2
для умножения на x.libm
Данные функции умножают число с плавающей точкой x на 2^e
.
Возможна ошибка выхода за границы диапазона.
x × 2^e
Для корректного значения, которое может вызвать ошибку underflow, эти функции возвращают 0.0
.
![]() | В случае возникновения ошибки, эти функции возвращают 0 , который также может быть и достоверным математическим результатом. Если вам необходимо проверить, возникла ли ошибка, установите errno в 0 , вызовите функцию, и затем снова проверьте errno. Эти функции не изменяют errno в случае отсутствия ошибок. |
#include <stdio.h>#include <stdlib.h>#include <math.h>int main( void ){double value;value = ldexp( 4.7072345, 5 );printf( "%f\n", value );return (EXIT_SUCCESS);}
Код генерирует следующий вывод:
$ ./a.out 150.631504
ANSI, POSIX 1003.1
Предыдущий раздел: Описание API математической библиотеки