# lldiv(3) [netbsd man page]

```DIV(3)							   BSD Library Functions Manual 						    DIV(3)

NAME
div, ldiv, lldiv, imaxdiv -- quotient and remainder from division

LIBRARY
Standard C Library (libc, -lc)

SYNOPSIS
#include <stdlib.h>

div_t
div(int num, int denom);

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

lldiv_t
lldiv(long long int num, long long int denom);

#include <inttypes.h>

imaxdiv_t
imaxdiv(intmax_t num, intmax_t denom);

DESCRIPTION
These functions compute the value of num / denom and return the quotient and remainder in a specific divison structure.  The functions differ
only with respect to the type of the return value and the parameters.

The returned structure always contains two members named quot and rem, denoting the quotient and the remainder.  The type of these correspond
with the underlying type of the function.

EXAMPLES
The following example demonstrate the basic usage of the functions.

div_t d;

int a = 4321;
int b = 1234;

d = div(a, b);

(void)printf("%d %d
", d.quot, d.rem);

fast_divide32(3), math(3), qdiv(3)

STANDARDS
All described functions conform to ISO/IEC 9899:1999 (``ISO C99'').

BSD								  April 13, 2011							       BSD```

## Check Out this Related Man Page

```div(3C) 						   Standard C Library Functions 						   div(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 attributes:

+-----------------------------+-----------------------------+
|      ATTRIBUTE TYPE	     |	    ATTRIBUTE VALUE	   |
+-----------------------------+-----------------------------+
|Interface Stability	     |Standard			   |
+-----------------------------+-----------------------------+
|MT-Level		     |MT-Safe			   |
+-----------------------------+-----------------------------+