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/四倍精度),并且根据其大小有一个范围.

于 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.comlong double与double相同,占用 8 个字节空间,位于 [-1.7E+308, 1.7E+308] 范围内。

还有其他站点,例如this,它说long double需要 12 - 16 个字节。

于 2013-03-10T09:32:49.137 回答