imaxdiv
Berechnet den Quotienten und den Rest von zwei ganzzahligen Werten beliebiger Größe als einzelnen Vorgang.
Syntax
imaxdiv_t imaxdiv(
intmax_t numer,
intmax_t denom
);
Parameter
numer
Der Zähler.
denom
Der Nenner.
Rückgabewert
imaxdiv
, die mit Argumenten vom Typ aufgerufen wird, gibt eine Struktur des Typs intmax_t
imaxdiv_t
zurück, die den Quotienten und den Rest umfasst.
Hinweise
Die imaxdiv
-Funktion teilt numer
durch denom
und berechnet dadurch den Quotienten und den Rest. Die imaxdiv_t
Struktur enthält den Quotienten, intmax_t
quot
und den Rest, intmax_t
rem
. Das Zeichen des Quotienten entspricht dem Zeichen des mathematischen Quotienten. Der absolute Wert ist die größte ganze Zahl, die kleiner als der absolute Wert des mathematischen Quotienten ist. Wenn der Nenner 0 ist, wird das Programm mit einer Fehlermeldung beendet.
Anforderungen
Routine | Erforderlicher Header |
---|---|
imaxdiv |
<inttypes.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
// 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);
}
Wenn der Code mit den Befehlszeilenparametern von 9460730470000000 8766
erstellt und anschließend aufgerufen wird, wird diese Ausgabe generiert:
The call to imaxdiv(9460730470000000, 8766)
results in a quotient of 1079252848505, and a remainder of 5170
Siehe auch
Mathematische Unterstützung und Gleitkommaunterstützung
div
ldiv
, lldiv