DIV(3C)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 opera‐
tions, unlike the implementation-defined semantics of the built-in
operations. The sign of the resulting quotient is that of the alge‐
braic 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 │
└────────────────────┴─────────────────┘
SEE ALSOattributes(5), standards(5)
Jul 24, 2002 DIV(3C)