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

From Cppreference

Jump to: navigation, search
Defined in header <cstdlib>

std::div_t     div( int x, int y );

std::ldiv_t    div( long x, long y );

std::lldiv_t   div( long long x, long long y );
(since C++11)
std::ldiv_t   ldiv( long x, long y );

std::lldiv_t lldiv( long long x, long long y );
(since C++11)
Defined in header <cinttypes>

std::imaxdiv_t div( std::intmax_t x, std::intmax_t y );
(since C++11)
std::imaxdiv_t imaxdiv( std::intmax_t x, std::intmax_t y );
(since C++11)

Computes the quotient and remainder of the division operation x/y.

[edit] Parameters

x, y - integer values

[edit] 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
};

[edit] See also

remainder of the floating point division operation
(function)