modf, modff
Разделяет значение с плавающей точкой на дробную и целую часть.
double modf(
double x,
double *intptr
);
float modf(
float x,
float *intptr
); // C++ only
long double modf(
long double x,
long double * intptr
); // C++ only
float modff(
float x,
float *intptr
);
Параметры
x
Значение с плавающей точкой.intptr
Указатель на хранимую целую часть.
Возвращаемое значение
Эта функция возвращает дробную часть х со знаком. Нет какого-либо возврата ошибки.
Заметки
Функция modf разделяет значение с плавающей точкой x на дробную и целую часть, каждая из которых имеет тот же знак, что и x. Возвращается дробная часть x со знаком. Целая часть хранится в виде значения с плавающей точкой в intptr.
modf имеет реализацию, которая использует набор инструкций SSE2. Сведения и ограничения по использованию реализации SSE2 см. в разделе _set_SSE2_enable.
C++ позволяет перегрузку, поэтому можно вызвать перегрузки modf. В программе на языке C modf всегда принимает два значения double и возвращает значение типа double.
Требования
Подпрограмма |
Обязательный заголовок |
---|---|
modf, modff |
<math.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость во введении.
Библиотеки
Все версии библиотек времени выполнения C.
Пример
// crt_modf.c
#include <math.h>
#include <stdio.h>
int main( void )
{
double x, y, n;
x = -14.87654321; /* Divide x into its fractional */
y = modf( x, &n ); /* and integer parts */
printf( "For %f, the fraction is %f and the integer is %.f\n",
x, y, n );
}
Output
For -14.876543, the fraction is -0.876543 and the integer is -14