Namespaces
Variants
Views
Actions

std::div, std::ldiv, std::lldiv

From cppreference.com
< cpp‎ | numeric‎ | math
Revision as of 22:13, 2 November 2012 by P12bot (Talk | contribs)

 
 
 
Common mathematical functions
Functions
Basic operations
divldivlldivimaxdiv
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
Exponential functions
(C++11)
(C++11)
(C++11)
(C++11)
Power functions
(C++11)
(C++11)
Trigonometric and hyperbolic functions
(C++11)
(C++11)
(C++11)
Error and gamma functions
(C++11)
(C++11)
(C++11)
(C++11)
Nearest integer floating point operations
(C++11)(C++11)(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
Floating point manipulation functions
(C++11)(C++11)
(C++11)
(C++11)
(C++11)(C++11)
(C++11)
Classification/Comparison
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Macro constants
(C++11)(C++11)(C++11)(C++11)(C++11)
 

Template:ddcl list begin <tr class="t-dsc-header">

<td>
Defined in header <cstdlib>
</td>

<td></td> <td></td> <tr class="t-dcl ">

<td class="t-dcl-nopad">
std::div_t     div( int x, int y );
</td>

<td class="t-dcl-nopad"> </td> <td class="t-dcl-nopad"> </td> </tr> <tr class="t-dcl ">

<td class="t-dcl-nopad">
std::ldiv_t    div( long x, long y );
</td>

<td class="t-dcl-nopad"> </td> <td class="t-dcl-nopad"> </td> </tr> <tr class="t-dcl ">

<td >
std::lldiv_t   div( long long x, long long y );
</td>

<td class="t-dcl-nopad"> </td> <td > (since C++11) </td> </tr> <tr class="t-dcl ">

<td class="t-dcl-nopad">
std::ldiv_t   ldiv( long x, long y );
</td>

<td class="t-dcl-nopad"> </td> <td class="t-dcl-nopad"> </td> </tr> <tr class="t-dcl ">

<td >
std::lldiv_t lldiv( long long x, long long y );
</td>

<td class="t-dcl-nopad"> </td> <td > (since C++11) </td> </tr> <tr class="t-dsc-header">

<td>
Defined in header <cinttypes>
</td>

<td></td> <td></td> <tr class="t-dcl ">

<td >
std::imaxdiv_t div( std::intmax_t x, std::intmax_t y );
</td>

<td class="t-dcl-nopad"> </td> <td > (since C++11) </td> </tr> <tr class="t-dcl ">

<td >
std::imaxdiv_t imaxdiv( std::intmax_t x, std::intmax_t y );
</td>

<td class="t-dcl-nopad"> </td> <td > (since C++11) </td> </tr> Template:ddcl list end

Computes the quotient (the result of the expression x/y) and remainder (the result of the expression x%y) simultaneously. (since C++11)

Computes quotient and remainder simultaneously. The quotient is the algebraic quotient with any fractional part discarded (truncated towards zero). The remainder is such that quot * y + rem == x. (until C++11)

Contents

Notes

Until C++11, the rounding direction of the quotient and the sign of the remainder in the built-in division and remainder operators was implementation-defined if either of the operands was negative, but it was well-defined in std::div.

Parameters

x, y - integer values

Return value

Structure of type div_t, ldiv_t, ldiv_t, imaxdiv_t defined as:

struct div_t {
    int quot;   // The quotient
    int rem;    // The remainder
};
 
struct ldiv_t {
    long quot;   // The quotient
    long rem;    // The remainder
};
 
struct lldiv_t {
    long long quot;   // The quotient
    long long rem;    // The remainder
};
 
struct imaxdiv_t {
    std::intmax_t quot;   // The quotient
    std::intmax_t rem;    // The remainder
};

See also

Template:cpp/numeric/math/dcl list fmod