imaxdiv
Calcule le quotient et le reste de deux valeurs entières de n’importe quelle taille en une seule opération.
Syntaxe
imaxdiv_t imaxdiv(
intmax_t numer,
intmax_t denom
);
Paramètres
numer
Numérateur.
denom
Dénominateur.
Valeur retournée
imaxdiv
, appelé avec des arguments de type intmax_t
, retourne une structure de type imaxdiv_t
qui comprend le quotient et le reste.
Notes
La fonction imaxdiv
divise numer
par denom
, calculant 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 le même que le signe 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.
Spécifications
Routine | En-tête requis |
---|---|
imaxdiv |
<inttypes.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
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);
}
Quand la fonction est générée, puis appelée avec les paramètres de ligne de commande 9460730470000000 8766
, le code génère cette sortie :
The call to imaxdiv(9460730470000000, 8766)
results in a quotient of 1079252848505, and a remainder of 5170
Voir aussi
Prise en charge mathématique et à virgule flottante
div
ldiv
, lldiv
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour