fmod
, , fmodf
fmodl
Vypočítá zbytek s plovoucí desetinnou čárkou.
Syntaxe
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
Hodnoty s plovoucí desetinou čárkou.
Vrácená hodnota
fmod
vrátí zbytek s plovoucí desetinou čárkou x / y
. Pokud je hodnota y
0,0, fmod
vrátí ticho NaN
. Informace o reprezentaci klidu NaN
rodiny printf
naleznete v tématu printf
.
Poznámky
Funkce fmod
vypočítá zbytek f
x / y
s plovoucí desetinnou čárkou tak, že x = i * y + f
, kde i
je celé číslo, f
má stejné znaménko jako x
a absolutní hodnota f
je menší než absolutní hodnota y
.
Jazyk C++ umožňuje přetížení, takže můžete volat přetížení fmod
těchto převzetí a návratových float
hodnot a long double
hodnot. Pokud v programu jazyka C nepoužíváte <tgmath.h>
makro k volání této funkce, fmod
vždy přebírá dva double
argumenty a vrací hodnotu double
.
Pokud použijete fmod
makro z <tgmath.h>
, typ argumentu určuje, která verze funkce je vybrána. Podrobnosti najdete v tématu Matematika pro obecné typy.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Požadavky
Function | Požadovaný hlavičkový soubor |
---|---|
fmod , , fmodf fmodl |
<math.h> |
fmod makro |
<tgmath.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// 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
Viz také
Podpora pro matematiku a plovoucí desetinou čárku
ceil
, , ceilf
ceill
fabs
, , fabsf
fabsl
floor
, , floorf
floorl
_CIfmod