fmod
, , fmodf
fmodl
Oblicza resztę zmiennoprzecinkową.
Składnia
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
Parametry
x
, y
Wartości zmiennoprzecinkowe.
Wartość zwracana
fmod
Zwraca pozostałą część zmiennoprzecinkową .x / y
Jeśli wartość y
to 0,0, fmod
zwraca cichy NaN
element . Aby uzyskać informacje na temat reprezentacji cichej NaN
przez rodzinę printf
, zobacz printf
.
Uwagi
Funkcja fmod
oblicza resztę f
zmiennoprzecinkową x / y
takiej liczby, że x = i * y + f
, gdzie i
jest liczbą całkowitą, f
ma ten sam znak co x
, a wartość bezwzględna wartości jest mniejsza niż wartość f
y
bezwzględna .
Język C++ umożliwia przeciążenie, dzięki czemu można wywoływać przeciążeniafmod
, które przyjmują i zwracają float
wartości.long double
W programie C, chyba że używasz makra <tgmath.h>
do wywołania tej funkcji, fmod
zawsze przyjmuje dwa double
argumenty i zwraca wartość double
.
Jeśli używasz makra fmod
z <tgmath.h>
, typ argumentu określa, która wersja funkcji jest zaznaczona. Aby uzyskać szczegółowe informacje, zobacz Typy ogólne matematyczne .
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Wymagania
Function | Wymagany nagłówek |
---|---|
fmod , , fmodf fmodl |
<math.h> |
fmod Makro |
<tgmath.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Przykład
// 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
Zobacz też
Obsługa obliczeń matematycznych i zmiennoprzecinkowych
ceil
, , ceilf
ceill
fabs
, , fabsf
fabsl
floor
, , floorf
floorl
_CIfmod