DIV(3)                    Linux Programmer's Manual                   DIV(3)

NAME         top

       div,  ldiv,  lldiv,  imaxdiv  -  compute quotient and remainder of an
       integer division

SYNOPSIS         top

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

           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

DESCRIPTION         top

       The 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 VALUE         top

       The div_t (etc.) structure.

ATTRIBUTES         top

       For an explanation of the terms used in this section, see

       │Interface                         Attribute     Value   │
       │div(), ldiv(), lldiv(), imaxdiv() │ Thread safety │ MT-Safe │

CONFORMING TO         top

       POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.  The functions
       lldiv() and imaxdiv() were added in C99.

EXAMPLE         top


               div_t q = div(-5, 3);

       the values q.quot and q.rem are -1 and -2, respectively.

SEE ALSO         top

       abs(3), remainder(3)

COLOPHON         top

       This page is part of release 4.07 of the Linux man-pages project.  A
       description of the project, information about reporting bugs, and the
       latest version of this page, can be found at

                                 2016-03-15                           DIV(3)