Skip to content

Latest commit

 

History

History
77 lines (55 loc) · 1.44 KB

div_sat.md

File metadata and controls

77 lines (55 loc) · 1.44 KB

div_sat

  • numeric[meta header]
  • function template[meta id-type]
  • std[meta namespace]
  • cpp26[meta cpp]
namespace std {
  template<class T>
    constexpr T div_sat(T x, T y) noexcept;
}

概要

飽和除算 x / y を計算する。

テンプレートパラメータ制約

Tは符号付き整数型または符号無し整数型であること。

事前条件

y != 0

戻り値

例外

投げない

定数式に評価される条件

事前条件を満たすこと

#include <cstdint>
#include <numeric>
#include <print>

int main()
{
  // 10 / 3 = 3
  std::println("{}", std::div_sat(10, 3));

  // -128 * -1 = 128 -> 127(2**7-1)
  std::int8_t x = -128, y = -1;
  std::println("{}", std::div_sat(x, y));
}
  • std::div_sat[color ff0000]
  • std::println[link /reference/print/println.md]

出力

3
127

バージョン

言語

  • C++26

処理系

参照