SYNOPSIS

DESCRIPTION

The div() function computes the quotient and remainder of the division
of the numerator numer by the denominator denom. It provides a well-defined semantics for the signed integral division and remainder operations, unlike the implementation-defined semantics of the built-in operations. The sign of the resulting quotient is
that of the algebraic quotient, and if the division is inexact, the magnitude of the resulting quotient is the largest integer less than the magnitude of the algebraic quotient. If the result cannot be represented, the behavior is undefined; otherwise, quotient * denom + remainder will equal numer.

The ldiv() and lldiv() functions are similar to div(), except that the arguments and the members of the returned structure are different. The ldiv() function returns a structure of type ldiv_t and has
type long int. The lldiv() function returns a structure of type lldiv_t and has type long long.

RETURN VALUES

The div() function returns a structure of type div_t, comprising both the quotient and remainder:

int quot; /*quotient*/
int rem; /*remainder*/

The ldiv() function returns a structure of type ldiv_t and lldiv() returns a structure of type lldiv_t, comprising both the quotient and remainder: