最終更新日時:
が更新

履歴 編集

function
<cinttypes>

std::imaxdiv(C++11)

namespace std {
  imaxdiv_t
    imaxdiv(intmax_t numer,
            intmax_t denom);  // (1) C++11
  constexpr imaxdiv_t
    imaxdiv(intmax_t numer,
            intmax_t denom);  // (1) C++23

  imaxdiv_t
    div(intmax_t numer,
        intmax_t denom);      // (2) C++11
  constexpr imaxdiv_t
    div(intmax_t numer,
        intmax_t denom);      // (2) C++23
}

概要

最大幅の符号付き整数型 intmax_t に対して、numer / denomnumer % denomの計算をひとつの操作で行う。imaxdiv は integer maximum division(最大幅整数の除算)の略。

戻り値

imaxdiv_t型オブジェクトのquotに商、remに剰余を代入して返す。

結果のどちらかがintmax_tで表現できない場合、動作は未定義である。

備考

#include <iostream>
#include <cinttypes>

int main()
{
  std::imaxdiv_t x = std::imaxdiv(17, 5);
  std::cout << x.quot << std::endl;
  std::cout << x.rem << std::endl;
}

出力

3
2

バージョン

言語

  • C++11

関連項目

参照