std::div, std::ldiv, std::lldiv
Материал из cppreference.com
Определено в заголовочном файле <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 ); |
(начиная с C++11) | |
std::ldiv_t ldiv( long x, long y ); |
||
std::lldiv_t lldiv( long long x, long long y ); |
(начиная с C++11) | |
Определено в заголовочном файле <cinttypes>
|
||
std::imaxdiv_t div( std::intmax_t x, std::intmax_t y ); |
(начиная с C++11) | |
std::imaxdiv_t imaxdiv( std::intmax_t x, std::intmax_t y ); |
(начиная с C++11) | |
Одновременно вычисляет частное (результат выражения x/y) и остаток от деления (результат выражения x%y). (начиная с C++11)
Вычисляет частное quot и остаток rem от деления одновременно. Частное от деления является алгебраическим частным с отбрасываемой дробной частью (усеченной к нулю). Остаток же таков, что quot * y + rem == x. (до C++11)
Содержание |
[править] Заметки
До C + +11, направление округления частного и знак остатка в встроенных операторах деления и вычисления остатка определялись реализацией даже если любой из операндов был отрицательным, но это было хорошо определено в std::div.
[править] Параметры
x, y | - | целочисленные значения |
[править] Возвращаемое значение
Структура типа div_t
, ldiv_t
, ldiv_t
, imaxdiv_t
определяется как:
struct div_t { int quot; // Частное int rem; // Остаток }; struct ldiv_t { long quot; // Частное long rem; // Остаток }; struct lldiv_t { long long quot; // Частное long long rem; // Остаток }; struct imaxdiv_t { std::intmax_t quot; // Частное std::intmax_t rem; // Остаток };
[править] См. также
Остальная часть операции с плавающей точкой разделения Оригинал: remainder of the floating point division operation Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) |