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

From cppreference.com
 
 
 
Common mathematical functions
Functions
Basic operations
abs(int)
labs
llabs
imaxabs



(C++11)
abs(float)
fabs
div
ldiv
lldiv
imaxdiv



(C++11)
fmod
remainder (C++11)
remquo (C++11)
fma (C++11)
fmax (C++11)
fmin (C++11)
fdim (C++11)
nan
nanf
nanl
(C++11)
(C++11)
(C++11)
Exponential functions
exp
exp2 (C++11)
expm1 (C++11)
log
log10
log1p (C++11)
log2 (C++11)
Power functions
sqrt
cbrt (C++11)
hypot (C++11)
pow
Trigonometric and hyperbolic functions
sinh
cosh
tanh
asinh (C++11)
acosh (C++11)
atanh (C++11)
Error and gamma functions
erf (C++11)
erfc (C++11)
lgamma (C++11)
tgamma (C++11)
Nearest integer floating point operations
ceil
floor
round
lround
llround
(C++11)
(C++11)
(C++11)
trunc (C++11)
nearbyint (C++11)
rint
lrint
llrint
(C++11)
(C++11)
(C++11)
Floating point manipulation functions
ldexp
scalbn
scalbln
(C++11)
(C++11)
ilogb (C++11)
logb (C++11)
frexp
modf
nextafter
nexttoward
(C++11)
(C++11)
copysign (C++11)
Classification
fpclassify (C++11)
isfinite (C++11)
isinf (C++11)
isnan (C++11)
isnormal (C++11)
signbit (C++11)
Macro constants
FP_NORMAL
FP_SUBNORMAL
FP_ZERO
FP_INFINITE
FP_NAN
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
FLT_EVAL_METHOD (C++11)
 
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)