fmod
, , fmodf
fmodl
Вычисляет остаток с плавающей запятой.
Синтаксис
double fmod(
double x,
double y
);
float fmod(
float x,
float y
); // C++ only
long double fmod(
long double x,
long double y
); // C++ only
float fmodf(
float x,
float y
);
long double fmodl(
long double x,
long double y
);
#define fmod(X, Y) // Requires C11 or higher
Параметры
x
, y
Значения с плавающей запятой.
Возвращаемое значение
Функция fmod
возвращает остаток от деления x / y
в виде числа с плавающей запятой. Если значение y
равно 0,0, fmod
возвращает тихое NaN
значение. Сведения о представлении тихой NaN
printf
семьи см. в разделе printf
.
Замечания
Функция fmod
вычисляет остаток f
от деления x / y
в виде числа с плавающей запятой следующим образом: x = i * y + f
, где i
— это целое число, f
имеет тот же знак, что и x
, а абсолютное значение f
меньше абсолютного значения y
.
Так как C++ допускает перегрузку, можно вызывать перегрузки fmod
, которые принимают и возвращают значения типов float
и long double
. В программе C, если вы не используете <tgmath.h>
макрос для вызова этой функции, fmod
всегда принимает два double
аргумента и возвращает значение double
.
Если вы используете fmod
макрос из <tgmath.h>
, тип аргумента определяет, какая версия функции выбрана. Дополнительные сведения см . в разделе "Математика с универсальным типом".
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Требования
Function | Обязательный заголовок |
---|---|
fmod , , fmodf fmodl |
<math.h> |
fmod Макрос |
<tgmath.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
// crt_fmod.c
// This program displays a floating-point remainder.
#include <math.h>
#include <stdio.h>
int main( void )
{
double w = -10.0, x = 3.0, z;
z = fmod( w, x );
printf( "The remainder of %.2f / %.2f is %f\n", w, x, z );
}
The remainder of -10.00 / 3.00 is -1.000000
См. также
Поддержка математических и плавающих точек
ceil
, , ceilf
ceill
fabs
, , fabsf
fabsl
floor
, , floorf
floorl
_CIfmod