7

C++ の long double の範囲は?

4

4 に答える 4

13

#include <limits>

std::numeric_limits<long double>::min()
//...
std::numeric_limits<long double>::max()

の定義long doubleはコンパイラとプラットフォームに依存します。少なくとも a と同じですdouble。したがって、8、12 (通常は 80 ビットの場合も)、または 16 バイト ( float128/quadruple precision ) を使用する場合があり、そのサイズに応じた範囲があります。 .

于 2013-03-10T09:32:55.937 に答える
8

調べるために使用std::numeric_limitsします。

于 2013-03-10T09:31:47.170 に答える
3

システム (およびプロセッサ、コンパイラ、ABI) に依存します。<limits.h>および標準ヘッダーを<math.h>調べます。<float.h>

于 2013-03-10T09:29:35.130 に答える
2

MSDN - Data Type Ranges (C++)およびwww.cplusplus.comによると、long doubleはdoubleと同じで、8 バイトのスペースを取り、[-1.7E+308, 1.7E+308] の範囲にあります。

こののような他のサイトもあり、 long doubleには 12 ~ 16 バイトかかると書かれています。

于 2013-03-10T09:32:49.137 に答える