remainder
, , remainderf
remainderl
Calcule le reste du quotient de deux valeurs à virgule flottante, arrondi à la valeur entière la plus proche.
Syntaxe
double remainder( double x, double y );
float remainderf( float x, float y );
long double remainderl( long double x, long double y );
#define remainder(X, Y) // Requires C11 or higher
float remainder( float x, float y ); /* C++ only */
long double remainder( long double x, long double y ); /* C++ only */
Paramètres
x
Numérateur.
y
Dénominateur.
Valeur retournée
Reste à virgule flottante de x
/ y
. Si la valeur de y
est égale à 0,0, remainder
retourne un NaN silencieux. Pour plus d’informations sur la représentation d’un NaN silencieux par la printf
famille, consultez printf
, , . _wprintf_l
_printf_l
wprintf
Notes
Les remainder
fonctions calculent le reste r
à virgule flottante de x / y
telle sorte que x = n * y + r
, où n
est l’entier le plus proche de la valeur x / y
et n
est même chaque fois |n - x / y| = 1/2
. Quand r = 0
, r
a le même signe que x
.
C++ autorisant la surcharge, vous pouvez appeler des surcharges de remainder
qui acceptent et retournent des valeurs float
ou long double
. Dans un programme C, sauf si vous utilisez la <macro tgmath.h> pour appeler cette fonction, remainder
prend toujours deux double
arguments et retourne un double
.
Si vous utilisez la macro <tgmath.h>remainder()
, le type de l’argument détermine la version de la fonction sélectionnée. Pour plus d’informations, consultez les mathématiques génériques de type.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Spécifications
Fonction | En-tête requis (C) | En-tête requis (C++) |
---|---|---|
remainder , , remainderf remainderl |
<math.h> | <cmath> ou <math.h> |
Macro remainder |
<tgmath.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibilité.
Exemple
// crt_remainder.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 = remainder(w, x);
printf("The remainder of %.2f / %.2f is %f\n", w, x, z);
}
The remainder of -10.00 / 3.00 is -1.000000
Voir aussi
Prise en charge des fonctions mathématiques et à virgule flottante
ldiv
, lldiv
imaxdiv
fmod
, fmodf
remquo
, , remquof
remquol