remquo
, , remquof
remquol
Vypočítá zbytek dvou celočíselné hodnoty a uloží celočíselnou hodnotu se znaménkem a přibližnou velikost podílu v parametru.
Syntaxe
double remquo( double numer, double denom, int* quo );
float remquof( float numer, float denom, int* quo );
long double remquol( long double numer, long double denom, int* quo );
#define remquo(X, Y, INT_PTR) // Requires C11 or higher
float remquo( float numer, float denom, int* quo ); /* C++ only */
long double remquo( long double numer, long double denom, int* quo ); /* C++ only */
Parametry
numer
Čitatel.
denom
Jmenovatel.
quo
Ukazatel na celé číslo pro uložení hodnoty, která má znaménko a přibližnou velikost podílu.
Vrácená hodnota
remquo
vrátí zbytek s plovoucí desetinou čárkou x
/ y
. Pokud je hodnota y
0,0, remquo
vrátí tichou hodnotu NaN. Informace o reprezentaci tichého NaN rodinou printf
naleznete v tématuprintf
, _printf_l
, wprintf
, . _wprintf_l
Poznámky
Funkce remquo
vypočítá zbytek x
/ f
y
s plovoucí desetinnou čárkou tak, že = y
+ x
n
* f
*, kde n
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íremquo
, která přebírají a vracejí nebo long double
vrací float
hodnoty. Pokud v programu jazyka C nepoužíváte <makro tgmath.h> k volání této funkce, remquo
vždy přebírá dva double
argumenty a vrací .double
Pokud použijete <makro tgmath.h>remquo()
, 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 | Povinná hlavička (C) | Povinná hlavička (C++) |
---|---|---|
remquo , , remquof remquol |
<math.h> | <cmath> nebo <math.h> |
remquo makro |
<tgmath.h> |
Informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// crt_remquo.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;
int quo = 0;
z = remquo(w, x, &quo);
printf("The remainder of %.2f / %.2f is %f\n", w, x, z);
printf("Approximate signed quotient is %d\n", quo);
}
The remainder of -10.00 / 3.00 is -1.000000
Approximate signed quotient is -3
Viz také
Podpora pro matematiku a plovoucí desetinou čárku
ldiv
, lldiv
imaxdiv
fmod
, fmodf
remainder
, , remainderf
remainderl