【问题标题】:What is the range of the long double C++ [duplicate]long double C++的范围是多少[重复]
【发布时间】:2013-03-10 09:27:54
【问题描述】:

C++中long double的范围是多少?

【问题讨论】:

  • @H2CO3:这是 Visual Studio 特有的。
  • @BenjaminLindley 是的,我很少链接到特定于 MS 的资源,但我想说明找到 OP 正在寻找的信息是多么容易。

标签: c++ types numbers primitive-types


【解决方案1】:

#include <limits>

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

long double 的定义取决于编译器和平台,它至少与double 相同,因此可能需要 8、12(通常也是 80 位)甚至 16 字节(float128/quadruple precision)并根据其大小有一个范围。

【讨论】:

    【解决方案2】:

    使用std::numeric_limits 找出答案。

    【讨论】:

      【解决方案3】:

      它依赖于系统(以及处理器、编译器和 ABI)。查看&lt;limits.h&gt;&lt;math.h&gt;&lt;float.h&gt; 标准标头。

      【讨论】:

      • 它甚至依赖于编译器。
      【解决方案4】:

      根据 MSDN - Data Type Ranges (C++)www.cplusplus.comlong doubledouble 相同,占用 8 个字节空间,位于 [ -1.7E+308, 1.7E+308].

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-03
        • 2012-10-12
        • 2019-07-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-30
        相关资源
        最近更新 更多