frexp
Возвращает мантиссу и степень числа с плавающей запятой.
double frexp(
double x,
int *expptr
);
float frexp(
float x,
int * expptr
); // C++ only
long double frexp(
long double x,
int * expptr
); // C++ only
Параметры
x
Значение с плавающей запятой.expptr
Указатель к хранимому степени целого числа.
Возвращаемое значение
frexp возвращает мантиссу.If x 0, функция возвращает 0 как в параметре мантиссы, так и для степени.If expptr существует NULLнедопустимый параметр вызван обработчик, как описано в разделе Проверка параметров.Если выполнение может быть продолжено, то наборы этой функции errno В EINVAL и возвращает 0.
Заметки
frexp функция прерывается на значения с плавающей запятой ("xв мантиссу ()mи степень ()nв абсолютное значение) m больше или равно 0,5 и меньше 1,0. x = m*2n.Степень integer n хранит в расположении, указанном в которой следуют expptr.
C++ позволяет перегружать, поэтому можно вызвать перегрузки frexp.В программе c frexp всегда имеет тип double, и целое число и возвращает значение.
Требования
Функция |
Обязательный заголовок |
---|---|
frexp |
<math.h> |
Дополнительные сведения о совместимости см. Совместимость во введении.
Пример
// crt_frexp.c
// This program calculates frexp( 16.4, &n )
// then displays y and n.
#include <math.h>
#include <stdio.h>
int main( void )
{
double x, y;
int n;
x = 16.4;
y = frexp( x, &n );
printf( "frexp( %f, &n ) = %f, n = %d\n", x, y, n );
}
Эквивалент в .NET Framework
Неприменимо. Для c# используйте стандартная функция PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.