Partager via


imaxdiv

Calcule le quotient et le reste de deux valeurs entières de n'importe quelle taille en une seule opération.

imaxdiv_t imaxdiv( 
   intmax_t numer,
   intmax_t denom 
); 

Paramètres

  • numer
    Le numérateur.

  • denom
    Le dénominateur.

Valeur de retour

imaxdiv appelé avec des arguments de type intmax_t retourne une structure de type imaxdiv_t qui comporte le quotient et le reste.

Notes

La fonction imaxdiv divise numer par denom et calcule ainsi le quotient et le reste. La structure imaxdiv_t contient le quotient, intmax_t, quot, et le reste, intmax_t rem. Le signe du quotient est identique à celui du quotient mathématique. Sa valeur absolue est le plus grand entier inférieur à la valeur absolue du quotient mathématique. Si le dénominateur est 0, le programme se termine par un message d'erreur.

Configuration requise

Routine

En-tête requis

imaxdiv

<inttypes.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité.

Exemple

// crt_imaxdiv.c
// Build using: cl /W3 /Tc crt_imaxdiv.c
// This example takes two integers as command-line
// arguments and calls imaxdiv to divide the first 
// argument by the second, then displays the results.

#include <stdio.h>
#include <stdlib.h>
#include <inttypes.h>

int main(int argc, char *argv[])
{
   intmax_t x,y;
   imaxdiv_t div_result;

   x = atoll(argv[1]);
   y = atoll(argv[2]);

   printf("The call to imaxdiv(%lld, %lld)\n", x, y);
   div_result = imaxdiv(x, y);
   printf("results in a quotient of %lld, and a remainder of %lld\n\n",
          div_result.quot, div_result.rem);
}

Lorsqu'il est généré et appelé à l'aide des paramètres de ligne de commande de 9460730470000000 8766, le code génère la sortie suivante :

  

Équivalent .NET Framework

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de code non managé.

Voir aussi

Référence

Prise en charge de la virgule flottante

div

ldiv, lldiv