xref: /illumos-gate/usr/src/man/man3c/div.3c (revision 694c35faa87b858ecdadfe4fc592615f4eefbb07)
te
Copyright (c) 2002, Sun Microsystems, Inc. All Rights Reserved
Copyright 1989 AT&T
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
DIV 3C "Jul 24, 2002"
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
SEE ALSO

attributes(5), standards(5)