Partager via


remainder, , remainderfremainderl

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_lwprintf

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, , remainderfremainderl <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, , remquofremquol