### ldiv -- Perform Long Division

Format

>     #include <stdlib.h>
>     ldiv_t ldiv(long int numerator, long int denominator);

Language Level: ANSI, XPG4
ldiv calculates the quotient and remainder of the division of numerator by denominator.

Return Value
ldiv 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 return value is undefined. If denominator is 0, an exception is raised.

Example
This example uses ldiv 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);
          }
       return 0;

       /*********************************************************************
          The output should be:

          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
       *********************************************************************/
    }

div -- Calculate Quotient and Remainder
lldiv -- Perform Long Long Division
<stdlib.h>