最終更新日時:
が更新

履歴 編集

variable
<limits>

std::numeric_limits::has_signaling_NaN

// C++03
static const bool has_signaling_NaN;

// C++11
static constexpr bool has_signaling_NaN;

概要

浮動小数点数型において、型Tがシグナルを投げるNaN (Not a Number)を持っているかを判定する。
is_iec559 != falseが成り立つ場合は常にtrueである。

#include <iostream>
#include <limits>

int main()
{
  constexpr bool a = std::numeric_limits<int>::has_signaling_NaN;
  constexpr bool b = std::numeric_limits<float>::has_signaling_NaN;
  constexpr bool c = std::numeric_limits<double>::has_signaling_NaN;

  std::cout << std::boolalpha;
  std::cout << "int : " << a << std::endl;
  std::cout << "float : " << b << std::endl;
  std::cout << "double : " << c << std::endl;
}

出力

int : false
float : true
double : true