Standards / Extensions | C or C++ | Dependencies |
---|---|---|
ISO C |
both |
#include <stdlib.h>
ldiv_t ldiv(long int numerator, long int denominator);
Calculates the quotient and remainder of the division of numerator by denominator.
Returns a structure of type ldiv_t, containing both the quotient long int quot and the remainder long int rem.
If the value cannot be represented, the returned value is undefined. If denominator is 0, a divide by 0 exception is raised.
⁄* CELEBL03
This example uses the &ldiv. function to calculate the
quotients and remainders for a set of two dividends and two
divisors.
*⁄
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
long int num[2] = {45,-45};
long int den[2] = {7,-7};
ldiv_t ans; ⁄* ldiv_t is a struct type containing two long ints:
'quot' stores quotient; 'rem' stores remainder *⁄
short i,j;
printf("Results of long division:\n");
for (i = 0; i < 2; i++)
for (j = 0; j < 2; j++)
{
ans = ldiv(num[i], den[j]);
printf("Dividend: %6ld Divisor: %6ld", num[i], den[j]);
printf(" Quotient: %6ld Remainder: %6ld\n", ans.quot, ans.rem);
}
}
Results of long division:
Dividend: 45 Divisor: 7 Quotient: 6 Remainder: 3
Dividend: 45 Divisor: -7 Quotient: -6 Remainder: 3
Dividend: -45 Divisor: 7 Quotient: -6 Remainder: -3
Dividend: -45 Divisor: -7 Quotient: 6 Remainder: -3