最終更新日時(UTC):
が更新

履歴 編集

variable
<limits>

std::numeric_limits::digits

static const int digits;     // C++03
static constexpr int digits; // C++11

概要

基数 radix において表現できる桁数を示す。

型ごとに、以下のような値を表す:

符号付き整数型 符号ビット以外のビット数
符号なし整数型 全ビット数 (符号ビットはない)
浮動小数点数型 仮数部の桁数

備考

is_specialized == falseの場合は0

対応するマクロを次の表に挙げる。

対応するマクロ
float FLT_MANT_DIG
double DBL_MANT_DIG
long double LDBL_MANT_DIG

#include <iostream>
#include <limits>

int main()
{
  constexpr int i = std::numeric_limits<int>::digits;
  constexpr int ui = std::numeric_limits<unsigned int>::digits;
  constexpr int d = std::numeric_limits<double>::digits;

  std::cout << i << std::endl;
  std::cout << ui << std::endl;
  std::cout << d << std::endl;
}

出力例

31
32
53