1. ホーム
  2. c++

[解決済み] C++のDBL_MAXとは何ですか?[クローズド]

2022-03-13 17:39:31

質問

ネットで見つけたプログラムを見ていたら、作者がDBL_MAXを何度か使っているようですね。それが何なのかよくわからなかったので少し調べてみたのですが、それが何なのか、何に使われるのかを説明しているものはあまりありませんでした。

どなたか、それが何なのか、なぜそれを使うべきなのか、説明していただけませんか?

コードでの使用例もありました。

localT.maxTemp = -DBL_MAX;
double avg = -DBL_MAX;

解決方法は?

他の方がおっしゃっているように DBL_MAX ヘッダーで定義されている <cfloat> C++の場合、または <float.h> は,有限浮動小数点(倍)数で表現できる最大の値です.

C++の場合、同じ値を得るには、クラス std::numeric_limits ヘッダーで定義された <limits>

std::numeric_limits<double>::max()

以下は、両方のアプローチを使用した例です。

#include <iostream>
#include <cfloat>
#include <limits>

int main() 
{
    std::cout << DBL_MAX << std::endl;
    std::cout << std::numeric_limits<double>::max() << std::endl;


    return 0;
}

www.ideone.com (オンラインC++コンパイラ)の出力は以下の通りです。

1.79769e+308
1.79769e+308