(libc.info.gz) Integer Division

Info Catalog (libc.info.gz) Integers (libc.info.gz) Arithmetic (libc.info.gz) Floating Point Numbers
 
 20.2 Integer Division
 =====================
 
 This section describes functions for performing integer division.  These
 functions are redundant when GNU CC is used, because in GNU C the '/'
 operator always rounds towards zero.  But in other C implementations,
 '/' may round differently with negative arguments.  'div' and 'ldiv' are
 useful because they specify how to round the quotient: towards zero.
 The remainder has the same sign as the numerator.
 
    These functions are specified to return a result R such that the
 value 'R.quot*DENOMINATOR + R.rem' equals NUMERATOR.
 
    To use these facilities, you should include the header file
 'stdlib.h' in your program.
 
  -- Data Type: div_t
      This is a structure type used to hold the result returned by the
      'div' function.  It has the following members:
 
      'int quot'
           The quotient from the division.
 
      'int rem'
           The remainder from the division.
 
  -- Function: div_t div (int NUMERATOR, int DENOMINATOR)
      Preliminary: | MT-Safe | AS-Safe | AC-Safe |  POSIX Safety
      Concepts.
 
      This function 'div' computes the quotient and remainder from the
      division of NUMERATOR by DENOMINATOR, returning the result in a
      structure of type 'div_t'.
 
      If the result cannot be represented (as in a division by zero), the
      behavior is undefined.
 
      Here is an example, albeit not a very useful one.
 
           div_t result;
           result = div (20, -6);
 
      Now 'result.quot' is '-3' and 'result.rem' is '2'.
 
  -- Data Type: ldiv_t
      This is a structure type used to hold the result returned by the
      'ldiv' function.  It has the following members:
 
      'long int quot'
           The quotient from the division.
 
      'long int rem'
           The remainder from the division.
 
      (This is identical to 'div_t' except that the components are of
      type 'long int' rather than 'int'.)
 
  -- Function: ldiv_t ldiv (long int NUMERATOR, long int DENOMINATOR)
      Preliminary: | MT-Safe | AS-Safe | AC-Safe |  POSIX Safety
      Concepts.
 
      The 'ldiv' function is similar to 'div', except that the arguments
      are of type 'long int' and the result is returned as a structure of
      type 'ldiv_t'.
 
  -- Data Type: lldiv_t
      This is a structure type used to hold the result returned by the
      'lldiv' function.  It has the following members:
 
      'long long int quot'
           The quotient from the division.
 
      'long long int rem'
           The remainder from the division.
 
      (This is identical to 'div_t' except that the components are of
      type 'long long int' rather than 'int'.)
 
  -- Function: lldiv_t lldiv (long long int NUMERATOR, long long int
           DENOMINATOR)
      Preliminary: | MT-Safe | AS-Safe | AC-Safe |  POSIX Safety
      Concepts.
 
      The 'lldiv' function is like the 'div' function, but the arguments
      are of type 'long long int' and the result is returned as a
      structure of type 'lldiv_t'.
 
      The 'lldiv' function was added in ISO C99.
 
  -- Data Type: imaxdiv_t
      This is a structure type used to hold the result returned by the
      'imaxdiv' function.  It has the following members:
 
      'intmax_t quot'
           The quotient from the division.
 
      'intmax_t rem'
           The remainder from the division.
 
      (This is identical to 'div_t' except that the components are of
      type 'intmax_t' rather than 'int'.)
 
      See  Integers for a description of the 'intmax_t' type.
 
  -- Function: imaxdiv_t imaxdiv (intmax_t NUMERATOR, intmax_t
           DENOMINATOR)
      Preliminary: | MT-Safe | AS-Safe | AC-Safe |  POSIX Safety
      Concepts.
 
      The 'imaxdiv' function is like the 'div' function, but the
      arguments are of type 'intmax_t' and the result is returned as a
      structure of type 'imaxdiv_t'.
 
      See  Integers for a description of the 'intmax_t' type.
 
      The 'imaxdiv' function was added in ISO C99.
 
Info Catalog (libc.info.gz) Integers (libc.info.gz) Arithmetic (libc.info.gz) Floating Point Numbers
automatically generated by info2html