Поделиться через


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. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

См. также

Ссылки

Поддержка чисел с плавающей запятой

ldexp

modf, modff