Copyright 1993 David Metcalfe (firstname.lastname@example.org) %%%LICENSE_START(VERBATIM) Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Sin...
NAMEdiv, ldiv, lldiv, imaxdiv - compute quotient and remainder of an integer division
#include <stdlib.h> div_t div(int numerator, int denominator);
ldiv_t ldiv(long numerator, long denominator);
lldiv_t lldiv(long long numerator, long long denominator); #include <inttypes.h> imaxdiv_t imaxdiv(intmax_t numerator, intmax_t denominator);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
_XOPEN_SOURCE >= 600 || _ISOC99_SOURCE ||
_POSIX_C_SOURCE >= 200112L;
or cc -std=c99
DESCRIPTIONThe div() function computes the value numerator/denominator and returns the quotient and remainder in a structure named div_t that contains two integer members (in unspecified order) named quot and rem. The quotient is rounded toward zero. The result satisfies quot*denominator+rem = numerator.
The ldiv(), lldiv(), and imaxdiv() functions do the same, dividing numbers of the indicated type and returning the result in a structure of the indicated name, in all cases with fields quot and rem of the same type as the function arguments.
RETURN VALUEThe div_t (etc.) structure.
ATTRIBUTESFor an explanation of the terms used in this section, see attributes(7).
|div(), ldiv(), lldiv(), imaxdiv()||Thread safety||MT-Safe|
CONFORMING TOPOSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD. The functions lldiv() and imaxdiv() were added in C99.
div_t q = div(-5, 3);the values q.quot and q.rem are -1 and -2, respectively.