【发布时间】:2013-03-10 09:27:54
【问题描述】:
C++中long double的范围是多少?
【问题讨论】:
-
@H2CO3:这是 Visual Studio 特有的。
-
@BenjaminLindley 是的,我很少链接到特定于 MS 的资源,但我想说明找到 OP 正在寻找的信息是多么容易。
标签: c++ types numbers primitive-types
C++中long double的范围是多少?
【问题讨论】:
标签: c++ types numbers primitive-types
std::numeric_limits<long double>::min()
//...
std::numeric_limits<long double>::max()
long double 的定义取决于编译器和平台,它至少与double 相同,因此可能需要 8、12(通常也是 80 位)甚至 16 字节(float128/quadruple precision)并根据其大小有一个范围。
【讨论】:
使用std::numeric_limits 找出答案。
【讨论】:
它依赖于系统(以及处理器、编译器和 ABI)。查看<limits.h> 和<math.h> 和<float.h> 标准标头。
【讨论】:
根据 MSDN - Data Type Ranges (C++) 和 www.cplusplus.com,long double 与 double 相同,占用 8 个字节空间,位于 [ -1.7E+308, 1.7E+308].
还有其他网站,比如this,它说long double需要12-16个字节。
【讨论】: