# ldiv(3C)

```

```

## NAME

```     div, ldiv, lldiv - compute the quotient and remainder

```

## SYNOPSIS

```     #include <stdlib.h>

div_t div(int numer, int denom);

ldiv_t ldiv(long int numer, long int denom);

lldiv_t lldiv(long long numer, long long denom);

```

## 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:

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

```

## ATTRIBUTES

```     See attributes(5) for descriptions of the  following  attri-
butes:

____________________________________________________________
|       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
|_____________________________|_____________________________|
| MT-Level                    | MT-Safe                     |
|_____________________________|_____________________________|

```

## SEE ALSO

```     attributes(5)

```

Man(1) output converted with man2html